Может ли gulp -uglify отключить инструкции console.log?
Как говорится в этом вопросе. Я знаю, что gulp -uglify может uglify с помощью простого:
gulp.src('filename')
.pipe(uglify())
Есть ли способ сообщить об этом также и для команд console.log?
Ответ 1
Гораздо лучше: вы можете использовать специализированный плагин gulp: gulp-strip-debug. Он не только отделяет консольные операторы, но также выводит предупреждения и отладчики.
Инструкции консоли консоли, предупреждения и отладчика из кода JavaScript с strip-debug
установите его, используя:
npm install --save-dev gulp-strip-debug
и используйте его как:
var gulp = require('gulp');
var stripDebug = require('gulp-strip-debug');
gulp.task('default', function () {
return gulp.src('src/app.js')
.pipe(stripDebug())
.pipe(gulp.dest('dist'));
});
Ответ 2
Да, есть!
Как упоминается в документации gulp -uglifyjs, вы можете передать дополнительные параметры (gulp -uglifyjs documentation):
С gulp-uglify (не gulp -uglifyjs) вы можете удалить произвольный код, используя стратегию, похожую на константы компиляции с конфигурацией сжатия (ссылка идет на gulp -uglifyjs, но должен быть одинаковым для gulp -uglify):
if (DEBUG)
{
console.log("Application started...");
//...
}
если вы установите для DEBUG в global_defs значение true, gulp -uglify удалит условное выражение, но оставит внутреннюю ветвь. Если DEBUG установлен в значение false, он удалит оба.
drop_console, как и в ответе Fill, похоже, не поддерживается в gulp -uglify.