【发布时间】:2014-06-23 18:23:07
【问题描述】:
简短地说:最近开始使用 Gulp(从 Grunt 转换),并且我尝试将 Gulp 的默认监视任务(不是来自 npm 的 gulp-watch)用于 SASS/JS/HTML 和 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,对 express 应用的更改重新启动:
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 watch 和 nodemon:
gulp.task('default', ['watch', 'express']);
如果有人有任何想法,请提前致谢!
【问题讨论】: