У меня есть задача gulp, которая выполняет некоторые довольно распространенные задачи — она запускает jshint для проверки моего кода, затем объединяет и минимизирует файлы и выводит их в отдельные файлы .min.js.
Задача (кажется) выполняется безупречно, когда я запускаю ее вручную. Но когда я пытаюсь использовать его в $gulp.watch, он больше не выводит мой файл (хотя он все еще выполняется и выполняет jshint).
Код в моей задаче:
gulp.src(path.join(workingPath, folder, '/*.js'))
.pipe(jshint())
.pipe(jshint.reporter(stylish))
.pipe(jshint.reporter('fail')) //stop build if errors found
.on('error', function() {
console.log("Please review and correct jshint errors.");
this.end();
})
.pipe(order([ //order files before concat - ensure module definitions are first
"*.module.js",
"*.js"
]))
.pipe(concat(filename+'.js'))
.pipe(gulp.dest(destinationPath)) //full combined version
.pipe(uglify())
.pipe(rename(filename+'.min.js'))
.pipe(gulp.dest(destinationPath)) //minified combined version
.on('error',function() {
console.log("An error occurred during Gulp processing.");
this.end();
});
Мои часы с глотком (задача называется «компоненты»):
gulp.watch(componentsBasePath+"/**/*.js",['components']);
Однако я заметил одну вещь: в конце ручного запуска я вижу «Процесс завершен с кодом выхода..». И если я убью свой gulp.watch, он выведет «Процесс завершен с кодом выхода..» - тогда он ДЕЙСТВИТЕЛЬНО создает выходные файлы!
Моя цель состоит в том, чтобы моя задача «компоненты» создавала эти выходные файлы каждый раз, когда она запускается часами, а не только тогда, когда я убиваю часы.
Спасибо!
Клифф