Указание YUI-компрессору удалить определенный некомментированный код - PullRequest
7 голосов
/ 13 мая 2010

В моем javascript есть несколько фрагментов кода, специально предназначенных для отладки, которые я не хочу включать в живой сайт. Есть ли способ, которым я могу полукомментировать эти фрагменты кода, чтобы они нормально работали как javascript, но этот компрессор yui считает, что они комментируют, и удаляет их?

Например

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

Я бы хотел иметь возможность автоматически комментировать бит console.log при сжатии для развертывания на действующем сайте. Так что, может быть, обернуть код в что-то вроде

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

1 Ответ

8 голосов
/ 05 декабря 2010

В отношении конкретно console.log заявлений:

Я использую sed для замены "console" на "//console" перед запуском компрессора:

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

Этот оператор находится внутри сценария оболочки, который затем запускает компрессор.

...