手短に:最近Gulpの使用を開始し(Gruntから変換)、SASS/JS/HTML用のGulpのデフォルトの監視タスク(npmからのgulp-watchではない)とgulp-nodemon(npmから)の両方を使用してExpressを再起動しようとしています変更時のサーバー。だけを実行するとgulp watch
、正常に動作します。実行gulp server
中 (nodemon の場合) は正常に動作します。ただし、両方を一緒に使用すると (以下のデフォルト タスクの構成に示されています)、監視機能は機能しません。タスクは実行中であり、CLI の gulp では監視タスクの「開始中」と「完了」が表示されますが、ファイルは更新されません。
関連するタスク構成:
連結JavaScript:
gulp.task('js:app', function(){
return gulp.src([
pathSource('js/application/modules/**/*.js'),
pathSource('js/application/_main.js')
])
.pipe(concat('application.js'))
.pipe(gulp.dest('./build/assets/js')).on('error', utils.log);
});
Nodemon、エクスプレス アプリへの変更で再起動:
gulp.task('express', function(){
return nodemon({script:'server.js', ext:'js', cwd: __dirname + '/express', legacyWatch: true})
.on('restart', function(){
//gulp.run('watch'); // doesn't work :(
});
});
JavaScript の変更を監視し、連結のために js:app を実行します。
gulp.task('watch', function(){
gulp.watch(pathSource('js/application/**/*.js'), ['js:app']);
});
gulp ウォッチと nodemon を同時に初期化するためのデフォルト タスク:
gulp.task('default', ['watch', 'express']);
誰かに何かアイデアがあれば、事前に感謝します!