O JQuery tem duas versões para download, uma é Produção (19KB, Minificado e Gzipado) e a outra é Desenvolvimento (120KB, Código Descomprimido) .
Agora a versão compacta de 19kb, se você baixá-la, verá que ainda é um código executável javascript. Como eles compactaram isso? E como posso 'reduzir' meu código assim também?
javascript
gzip
KalEl
fonte
fonte
Respostas:
Minificação DIY
Nenhum minificador pode compactar corretamente um código incorreto.
Neste exemplo, eu só quero mostrar o quanto um minificador faz.
O que você deve fazer antes de minimizar
E em relação ao jQuery ... eu não uso jQuery.jQuery é para navegadores antigos, foi feito por razões de compatibilidade .. verifique caniuse.com, quase tudo funciona em todos os navegadores (também o ie10 é padronizado agora), acho que agora é apenas aqui para desacelerar seu aplicativo da web ... se você gosta,
$()
você deve criar sua própria função simples. E por que se preocupar em compactar seu código se seus clientes precisam baixar o script jquery de 100kb toda vez? Qual é o tamanho do seu código descompactado? 5-6kb ..? Sem falar nas toneladas de plug-ins que você adiciona para facilitar.Código Original
Quando você escreve uma função, você tem uma ideia, começa a escrever coisas e às vezes acaba com algo como o código a seguir. O código funciona. Agora a maioria das pessoas para de pensar e adiciona isso a um minificador e publica.
Aqui está o código reduzido (adicionei as novas linhas)
Minificado usando ( http://javascript-minifier.com/ )
Mas todos esses vars, ifs, loops e definições são necessários?
Na maioria das vezes NÃO !
OPCIONAL (aumenta o desempenho e código mais curto)
Math
)while
,for
... nãoforEach
)"{}","()",";",spaces,newlines
Agora, se um minificador pode compactar o código, você está fazendo isso errado.
Nenhum minificador pode compactar corretamente um código incorreto.
faça você mesmo
Ele faz exatamente a mesma coisa que os códigos acima.
atuação
http://jsperf.com/diyminify
Você sempre precisa pensar no que você precisa:
Antes de dizer "Ninguém escreveria um código como o abaixo", verifique as primeiras 10 perguntas aqui ...
Aqui estão alguns exemplos comuns que vejo a cada dez minutos.
Quer uma condição reutilizável
Alerta sim apenas se existir
Alerta sim ou não
Converta um número em uma string ou vice-versa
Arredondar um número
Andar um número
caixa de troca
tente pegar
mais se
mas
indexOf
é lento ler este https://stackoverflow.com/a/30335438/2450730números
Alguns artigos / sites legais que encontrei sobre bit a bit / taquigrafia:
http://mudcu.be/journal/2011/11/bitwise-gems-and-other-optimizations/
http://www.140byt.es/
http://www.jquery4u.com/javascript/shorthand-javascript-techniques/
Existem também muitos sites jsperf que mostram o desempenho de shorthand & bitwsie se você pesquisar com seu mecanismo de pesquisa favorito.
Eu poderia fazer um por horas .. mas acho que é o suficiente por agora.
se você tiver alguma dúvida é só perguntar.
E lembre-se
Nenhum minificador pode compactar corretamente um código incorreto.
fonte
(10.4899845 +.5)|0
resulta em 10 em vez de 11.Você pode usar um dos muitos minificadores de javascript disponíveis.
fonte
O Google acaba de disponibilizar um compilador javascript que pode minificar seu código, eliminar ramificações de código morto e mais otimizações.
compilador google javascript
Atenciosamente
K
fonte
Junto com a minimização, você também pode codificá-lo em base64. Isso torna seu arquivo muito mais compactado. Tenho certeza que você viu arquivos js que estão dentro de uma função eval () com parâmetros (p, a, c, k, e, r) passados. Eu li neste artigo Como reduzir um arquivo Javascript?
fonte
Eu escrevi um pequeno script que chama uma API para reduzir o seu script, verifique:
Uso:
fonte
Recentemente, precisei realizar a mesma tarefa. Embora os compressores listados em The JavaScript CompressorRater façam um ótimo trabalho e a ferramenta seja muito útil, os compressores não estavam funcionando bem com alguns códigos jQuery que estou usando (verificações $ .getScript e jQuery.fn). Mesmo o Google Closure Compressor engasgou nas mesmas linhas. Embora eu pudesse ter resolvido as torções, era muito difícil forçar os olhos constantemente.
O que finalmente funcionou sem problemas foi o UglifyJS (obrigado @ Aries51 ), e a compactação foi apenas um pouco menor do que todos os outros. E semelhante ao Google, tem uma API HTTP. O Packer também é bom e tem implementação de linguagem em Perl, PHP e .NET.
fonte
Atualmente, existem 2 maneiras de reduzir seu código:
http://yui.github.io/yuicompressor/
Muitas dessas ferramentas também estão disponíveis para Node e npm - é uma boa prática automatizar a mnificação de Javascript com Grunt.
http://www.modify-anything.com/
fonte
Você pode usar o minificador javascript de ubercompute.com para reduzir o seu código. Ele irá reduzir o seu código javascript em até 75% da versão original.
fonte