Залпом-nodemon и задач смотреть
Я пытаюсь создать свой поток сборки с помощью gulp и nodemon. Цель состоит в том, чтобы смотреть файлы sass и компилировать их в css, а также перезапускать приложение node при изменении файла сервера.
Мой глоток.js:
gulp.task('sass', function(){
return gulp.src(sassFilesTobeProcessed).
pipe(sass()).
pipe(concat('ready_stylesheet.css')).
pipe(gulp.dest('express/public/stylesheets'))
})
gulp.task('watch', function(){
return gulp.watch(allSassFiles, ['sass']);
})
gulp.task('serve', function(){
return nodemon({
script: 'express/app.js',
}).on('start', ['watch'])
.on('change', ['watch'])
.on('restart', function(){
console.log('restarted');
})
})
Задача наблюдения работает нормально, файлы компилируются после изменения. Но изменения в моем приложении.файл JS server не вызывает перезапуск сервера. Когда я комментирую операторы .on
, он начинает работать нормально (сервер перезагружается), но тогда, конечно, файлы sass больше не являются наблюдаемый. Я предполагаю, следовательно, что между этими двумя существует некий конфликт, который я не могу обнаружить. Ценю любую помощь! Моя ОС-Windows 7, node 4.2.6, nodemon 1.9.1
2 ответа:
Используйте зависимость задачи вместо
.on(event)
, чтобы начать свою задачуwatch
:gulp.task('serve', ['watch'], function(){ return nodemon({ script: 'express/app.js', }) .on('restart', function(){ console.log('restarted'); }) })
Испускаем событие перезапуска с помощью nodemon
const cfg = require('../config') const gulp = require('gulp') const nodemon = require('nodemon') const gnodemon = require('gulp-nodemon') gulp.task('nodemon', ['ts', 'json'], () => { gnodemon({ script: cfg.paths.main, tasks: ['ts', 'json'], ext: 'js', watch: [cfg.paths.src], // para no alterar el entorno de prodicion con test env: {'NODE_ENV': process.env.NODE_ENV !== 'production' ? process.env.NODE_ENV || 'development' : 'development'} }) .on('start', ['mocha']) }) gulp.task('default', ['nodemon'], () => { gulp.watch(cfg.paths.src, (event) => nodemon.emit('restart')) })