Обозревать uglify через скрипт узла или в командной строке?

По-видимому, во многих местах профессионалы строят свои проекты, используя сценарий node.js, который включает в себя либо глоток, либо хрюканье. Однако я не могу понять, почему метод сценария предпочтительнее? При переключении с версии командной строки на версию скрипта вы добавляете другие пакеты в: gulp-uglify, виниловый источник и виниловый буфер. Не было бы безопаснее долгосрочно использовать метод с наименьшим количеством зависимостей? Возьмем, к примеру, следующий метод командной строки, который я использую сейчас:

browserify entry.js | uglifyjs > bundle.js 

Это зависит от браузера и uglifyjs, и у меня нет дополнительных зависимостей gulp, gulp-uglifyjs и т. Д. … и мне не нужно беспокоиться о версии gulp-uglifyjs относительно прямой uglifyjs в npm. Теперь посмотрим следующую версию:

 var browserify = require('browserify'); var gulp = require('gulp'); var uglify = require('gulp-uglify'); var source = require('vinyl-source-stream'); var buffer = require('vinyl-buffer'); gulp.task('browserify', function() { return browserify('./source/scripts/app.js') .bundle() .pipe(source('bundle.js')) // gives streaming vinyl file object .pipe(buffer()) // <----- convert from streaming to buffered vinyl file object .pipe(uglify()) // now gulp-uglify works .pipe(gulp.dest('./build/scripts')); }); 

Это кажется гораздо более сложным, но по какой причине это будет когда-либо более эффективным и безопасным способом создания проекта javascript? Благодарю.

    Это не. Командная строка по-прежнему является самым безопасным способом. И npm создать такой скрипт по умолчанию. Люди идут за gulp или grunt или другими такими встроенными инструментами для Continuous Integration . Uglify – это то, что вам нужно только один раз для производственных целей, но скажите, что вы хотите запускать свои tests каждый раз при изменении одного из ваших файлов или вы хотите использовать JSLint . Ну, я знаю, что многие из этих плагинов предоставляют поддержку Continous Integration , но не все из них. Gulp , `Grunt“` и другие подобные инструменты сборки поставляются с решением из коробки.

    Но я вижу, что все больше и больше людей переходят от gulp , grunt до основного npm и я полностью поддерживаю это движение.