Pergunta

YUI Compressor foi a melhor ferramenta de consenso para minimizar, mas Encerramento parece que poderia ser melhor.

Foi útil?

Solução

"O que você encontrar o melhor para você" Eu acho que é a resposta geral no momento - YUI tem estado disponível mais tempo para que, sem dúvida, vai ser o único que tem atualmente o consenso como sendo a melhor ferramenta. Considerando que o encerramento é novo para nós - de modo que não é a riqueza de experiência com Encerramento como há com YUI. Daí eu não acho que você gostaria de encontrar um convincentes argumentos reais de por que usar Encerramento com base nas experiências das pessoas com ele simplesmente porque é novo.

Isso não quer dizer que você não deve usar Encerramento .... apenas o meu círculo sobre a maneira de dizer, eu não acho que há uma resposta disponível para isso até que um número de pessoas usaram a 2 e comparou-os.

Edit: Há um par de comparações iniciais, dizendo Encerramento dá uma melhoria: http://blog.feedly.com/2009/ 06/11 / google-fecho-vs-yui-min /
http://news.ycombinator.com/item?id=924426

Além disso Edit: Vale a pena manter um olho na lista de problema para Encerramento: http://code.google.com / p / fechamento do compilador / questões / lista

Outras dicas

A partir das comparações que eu vi, Encerramento parece ser o claro vencedor em termos de minimizar o tamanho do arquivo. Este artigo utiliza três bibliotecas JS populares (jQuery, protótipo, MooTools) para comparar compressão entre YUI compressor e Encerramento Compiler: http: // www .bloggingdeveloper.com / post / Encerramento-Compiler-vs-YUI-Compressor-Comparando-the-Javascript-compressão-Tools.aspx

Encerramento sai na frente em cada ensaio, em particular do seu modo de avançada, em que "minimiza o tamanho do código de cerca de 20-25% mais do que YUI compressor, proporcionando a compressão quase 60%."

O encerramento pode ser usado no modo simples ou o modo Avançado. Modo simples é bastante seguro para a maioria do código JavaScript, uma vez que só renomeia variáveis ??locais em funções para obter mais compressão.

modo

Avançado é muito mais agressivo. Ele vai renomear chaves em literais de objeto e função inline chamadas se pode determinar que eles retornam valores simples, sem efeitos colaterais.

Por exemplo:

function Foo()
{
  return "hello";
}

alert(Foo());

é traduzido para:

alert("hello");

E este código:

var o = {First: "Mike", Last: "Koss"};
alert(o);

é traduzido para:

alert({a:"Mike",b:"Koss"});

Você pode impedir que o modo avançado de alterar valores de chave em literais de objeto, citando os nomes assim:

{'First': "Mike", 'Last': "Koss"}

Você pode experimentar esses e outros exemplos no Google interativo Closure Compiler local .

Looks como jQuery 1.5 apenas mudou-se para UglifyJS :

Além disso, com este interruptor temos mudou-se para utilizar a partir da UglifyJS Google Closure Compiler. Temos visto algumas melhorias de tamanho de arquivo sólida ao usá-lo, então estamos bastante satisfeitos com o interruptor.

Eu acho que depende do seu código. Se você quer compilar seu próprio código, então eu acho que vale a pena para corrigir o código para que ele funcione com o Closure Compiler (algumas coisas podem parecer um pouco estranho no início). Acredito Closure Compiler em breve será a melhor escolha para esses postos de trabalho e que também irá torná-lo a arrumar o seu código um pouco e manter estilo consistente (é claro que depende de suas preferências, você pode odiar alguns partes, eu faço:. P)

Se você depende de outras bibliotecas, em seguida, na minha opinião, você deve esperar um pouco até que ele libere Encerramento do compilador versões compatíveis. Não deve demorar muito tempo para a maioria das bibliotecas populares lá fora. E talvez você pode fornecer correções para essas bibliotecas "não-tão-activos" que você usa-se.

Eu estou falando sobre Avançado Compilation Modo aqui, o Compilação Simples modo como alguns já fora apontado é bastante seguro para uso.

E aqui está uma opinião diferente - Google Closure? Não estou impressionado . É talvez um pouco dura demais, mas agradável leitura. Eu acho que só o tempo dirá qual é o melhor =)

Em outubro de 2012, se parece com compressor YUI, é considerada obsoleta, ou pelo menos não vai ser usado em YUI: http://www.yuiblog.com/blog/2012/10/16/state-of-yui-compressor/

Você pode fazer alguns testes aqui, e ver o que é melhor em cada navegador: http://jsperf.com/closure-vs-yui

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top