2010-05-13 11 views
7

Nel mio javascript ho alcuni bit di codice specificatamente usati per il debug che non voglio includere nel sito live. C'è un modo per commentare parzialmente questi bit di codice in modo che vengano eseguiti normalmente come javascript, ma che il compressore yui pensa che siano commenti e li rimuova?Dire al compressore YUI di rimuovere il codice specifico non commentato

Per esempio

for(key in modules) { 
    try { 
    MyApp[key].init(modules[key].params); 
    } catch (e) { 
    console.log("Module " + key + " threw an error"); 
    break; 
    } 
} 

mi piacerebbe essere in grado di commentare la punta console.log automaticamente quando la compressione di distribuire al sito live. Così forse avvolgere il codice in qualcosa di simile

//yuiIgnore 
     console.log("Module " + key + " threw an error"); 
    //endyuiIgnore 
+0

Puoi fornire un esempio del codice che stai cercando di minimizzare, MA non viene eliminato. In secondo luogo, puoi fornire la riga di comando che esegui per minimizzare o le impostazioni di configurazione (se stai usando la porta .NET). –

risposta

8

Per quanto riguarda specificamente a console.log dichiarazioni:

sto usando sed per sostituire "console" con "//console" prima di lanciare il compressore:

sed -e "s/console/\/\/console/g" originalWithConsoleStatements.js > noConsoleStatements.js 

Questa dichiarazione si trova all'interno di uno script di shell che quindi avvia il compressore.

+9

Questo presuppone che tutte le istruzioni di console.log siano su una riga, altrimenti si otterranno errori di sintassi, penso ... –

+0

questa è una grande idea! –

Problemi correlati