Я занимался с GulpJS и считаю это хорошим следующим шагом от Grunt, но у меня есть несколько проблем с синтаксисом в сравнении.
Вот раздел из моего Gruntfile.js
:
concat: {
ie: {
options: {
separator: "\n\n"
},
src: [
"bower_components/selectivizr/selectivizr.js",
"bower_components/respond/dest/respond.min.js",
"bower_components/REM-unit-polyfill/js/rem.js"
],
dest: "assets/js/build/ie.js"
},
dist: {
options: {
separator: "\n\n"
},
src: [
// Foundation Vendor
"bower_components/foundation/js/vendor/fastclick.js",
"bower_components/foundation/js/vendor/placeholder.js",
// Foundation Core
"bower_components/foundation/js/foundation/foundation.js",
"bower_components/foundation/js/foundation/foundation.abide.js",
"bower_components/foundation/js/foundation/foundation.accordion.js",
"bower_components/foundation/js/foundation/foundation.alert.js",
"bower_components/foundation/js/foundation/foundation.clearing.js",
"bower_components/foundation/js/foundation/foundation.dropdown.js",
"bower_components/foundation/js/foundation/foundation.interchange.js",
"bower_components/foundation/js/foundation/foundation.joyride.js",
"bower_components/foundation/js/foundation/foundation.magellan.js",
"bower_components/foundation/js/foundation/foundation.offcanvas.js",
"bower_components/foundation/js/foundation/foundation.orbit.js",
"bower_components/foundation/js/foundation/foundation.reveal.js",
"bower_components/foundation/js/foundation/foundation.tab.js",
"bower_components/foundation/js/foundation/foundation.tooltip.js",
"bower_components/foundation/js/foundation/foundation.topbar.js",
// Custom Vendor
// Project
"assets/js/src/_init.js"
],
dest: "assets/js/build/scripts.js"
}
}
Итак, как вы можете видеть, я указываю определенные файлы (так как я не хочу тянуть весь каталог, как вы обычно видите), что кажется достаточно простым. Все tuts, которые я нашел для Gulp, похоже, следуют этому формату regex:
gulp.task('scripts', function() {
return gulp.src("assets/js/src/_init.js")
.pipe(jshint('.jshintrc'))
.pipe(jshint.reporter('default'))
.pipe(concat('main.js'))
.pipe(gulp.dest('assets/js/build'))
.pipe(rename({ suffix: '.min' }))
.pipe(uglify())
.pipe(livereload(server))
.pipe(gulp.dest('assets/js/build'))
.pipe(notify({ message: 'Scripts task complete' }));
});
Но включение в список, разделенный запятыми, в эту часть src
не работает - как мы передаем массив файлов этому методу?
Похоже, что я могу отделить свои сценарии IE, используя несколько потоков в одном, например:
gulp.task('test', function(cb) {
return es.concat(
gulp.src('bootstrap/js/*.js')
.pipe(gulp.dest('public/bootstrap')),
gulp.src('jquery.cookie/jquery.cookie.js')
.pipe(gulp.dest('public/jquery'))
);
});
Но быстрый комментарий, если это правильно, тоже будет замечательным. Спасибо!