Ответ 1
Очень распространенный шаблон в gulp строит
- шаблоны собираются в одну переменную пути
- каждая задача начинается с плагина "src" (очень часто
gulp.src
) и заканчивается плагином "sink" (gulp.dest
, или как в вашем примере, репортером).
Итак, для вашего примера:
var paths = {
scripts:[
'./js/**/*.js',
'!**/node_modules/**'
],
css: './css/**'
};
gulp.task('lint', function () {
var jshint = require('gulp-jshint');
var stream = gulp.src(paths.scripts)
.pipe(jshint())
.pipe(jshint.reporter('default'));
return stream;
});
gulp.task('cssmin', function () {
var stream = gulp.src(paths.css)
.pipe(cssmin())
.pipe(gulp.dest("..."));
return stream;
});
Почему бы не обмениваться потоками между задачами?
Gulp task orchestrator (и вскоре новый для gulp 4) имеет дело с зависимостями задач и их выполнением. Помните, что эти задачи могут быть асинхронными, поэтому вы не хотите делиться потоком, который может использоваться несколькими потребителями!