TL; DR
minifyify (плагин Browserify) использует uglify-js, но, похоже, не может обрабатывать условная компиляция
- работает сжатие
- Только для uglifyjs для условной компиляции
- minifyify предоставляет дополнительную оптимизацию компиляции, но мне не удалось использовать условную компиляцию с ней
Я использую Browserify с помощью трансформатора babelify и плагина minifyify. Вот cmd, разбитый на читаемые части:
browserify
src/scripts/app/index.js
-o
build/prod/public/assets/js/appBundle.min.js
-t
[ babelify --presets [ es2015 ] ]
-p
[ minifyify --no-map --uglify [ --compress [ --drop_console --dead_code --conditionals --unused --if_return ] --mangle --screw-ie8 --define [ DEBUG=false ] ] ]
Я получил каждую настройку/параметр для работы. Однако Я не могу заставить условную компиляцию работать.
Minifyify использует метод uglifyjs minify
. Тот факт, что я пропускаю minifyify, не должен ничего менять.
Построение непосредственно через работы uglifyjs
uglifyjs input.js --compress --dead_code --define DEBUG=false -o output.js
Но затем я теряю дополнительные сжатия/оптимизации, предоставляемые minifyify.
Я также открыт для другого процесса сборки. Мои потребности возобновляются в настройках текущего процесса:
- Необходимые модули CommonJS
- пересылка ES6 на ES5
- расширенная минификация/сжатие