У меня возникли проблемы с получением gulp-watch или gulp-watch-less для активации после выполнения задокументированных примеров. Первоначально у меня была проблема с lazypipe (здесь не показано), но мне кажется, что я делаю что-то неправильно при использовании плагинов. Вот мой упрощенный код, который все еще не работает.
Обратите внимание, что я попробовал это с простым gulp-watch, и он демонстрирует ту же проблему: он не запускает последующие каналы при изменении. Я включу информацию об этом здесь на случай, если это проблема.
Вот мой глоток.
var debug = require ( 'gulp-debug' );
var gulp = require ( 'gulp' );
var less = require ( 'gulp-less' );
var watchLess = require ( 'gulp-watch-less' );
gulp.task ( 'dev-watch', function () {
// main.less just imports child less files
gulp.src ( './app/styles/less/main.less' )
.pipe ( watchLess ( './app/styles/less/main.less' ) )
.pipe ( debug () );
.pipe ( less () )
.pipe ( gulp.dest ( './app/styles' ) )
;
});
Когда я запускаю задачу, она отлично выполняет и генерирует ожидаемые файлы. Я вижу, что отладка также отлично выводит информацию о потоке.
Когда я меняю файл, я вижу, что watchLess подхватывает изменение:
[10:49:54] LESS saw child.less was changed
[10:49:54] LESS saw child.less was changed
[10:49:54] LESS saw main.less was changed:by:import
[10:49:54] LESS saw main.less was changed:by:import
Однако задача less не выполняется. Похоже, он ничего не испускает, потому что отладка не срабатывает.
Вот соответствующая информация package.json:
"devDependencies": {
"gulp": "^3.8.7",
"gulp-less": "^1.3.6",
"gulp-watch": "^1.2.0",
"gulp-watch-less": "^0.2.1"
}