2009-03-23 4 views
3

YUI Compressor, in seiner (nicht sehr umfangreich) Dokumentation wird dies als eine Option:YUI Compressor: Was sind Mikrooptimierungen?

--disable-optimizations 
    Disable all the built-in micro optimizations. 

Wer weiß, was das bedeutet?
Was wird das ein-/ausschalten?
Ich habe keine Dokumentation darüber gefunden.

Danke!

Antwort

10

Mit Blick auf die Quelle der JavaScriptCompressor:

lines 548 -

if (!disableOptimizations) { 
     optimizeObjectMemberAccess(this.tokens); 
     optimizeObjLitMemberDecl(this.tokens); 
    } 

lines 467 -

/* 
* Transforms obj["foo"] into obj.foo whenever possible, saving 3 bytes. 
*/ 
private static void optimizeObjectMemberAccess(ArrayList tokens) { 

lines 497 -

/* 
* Transforms 'foo': ... into foo: ... whenever possible, saving 2 bytes. 
*/ 
private static void optimizeObjLitMemberDecl(ArrayList tokens) { 

So konvertiert es die Verwendung von konstanten Zeichenfolgen in foo['bar'] zu foo.bar und {'bar':x} zu {bar:x}.

+0

Danke! Ich bin definitiv deaktiviert diese. Aus irgendeinem Grund machen sie mich ein bisschen komisch, weil YUI das mit meinem Code macht. –

+0

Warum möchtest du nicht, dass YUI das mit deinem Code macht? In JavaScript bedeuten 'window.location' und' window ['location'] 'genau dasselbe. – Matthew

+2

@Matthew verwenden @, um die Antwort zu adressieren, oder ich sehe die Nachricht, nicht Daniel –