2010-05-13 10 views
7

En mi javascript tengo algunos bits de código específicamente usados ​​para la depuración que no quiero incluir en el sitio en vivo. ¿Hay alguna manera de que pueda semicomentar estos bits de código para que se ejecuten como javascript normalmente, pero ese compresor yui piensa que son comentarios y los elimina?Diciendo al compresor YUI que elimine el código no comentado específico

Por ejemplo

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

Me gustaría ser capaz de comentar el bit console.log automáticamente cuando se comprime para desplegar en el sitio activo. Así que tal vez envolver el código en algo así como

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

Puede proporcionarnos una muestra del código que está tratando de minimizar PERO no está siendo eliminado. En segundo lugar, ¿puede proporcionar la línea de comandos que ejecuta para minimizar o la configuración de configuración (si está utilizando el puerto .NET). –

Respuesta

8

En lo que respecta específicamente a console.log declaraciones:

estoy usando sed para reemplazar "console" con "//console" antes de lanzar el compresor:

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

Esta declaración se sienta dentro de un script de shell que luego inicia el compresor.

+9

Esto supone que todas las instrucciones de console.log están en una línea, de lo contrario obtendrá errores de sintaxis, creo que ... –

+0

¡esta es una gran idea! –

Cuestiones relacionadas