我正在开发一个Gulpfile
.它能在改变后立即重新启动吗?我正在用咖啡脚本开发它.Gulp
能否监视Gulpfile.coffee
,以便在保存更改时重新启动?
我正在开发一个Gulpfile
.它能在改变后立即重新启动吗?我正在用咖啡脚本开发它.Gulp
能否监视Gulpfile.coffee
,以便在保存更改时重新启动?
你可以创建一个task
,将gulp.watch
换成gulpfile.js
,只需spawn
another gulp child_process.
var gulp = require('gulp'),
argv = require('yargs').argv, // for args parsing
spawn = require('child_process').spawn;
gulp.task('log', function() {
console.log('CSSs has been changed');
});
gulp.task('watching-task', function() {
gulp.watch('*.css', ['log']);
});
gulp.task('auto-reload', function() {
var p;
gulp.watch('gulpfile.js', spawnChildren);
spawnChildren();
function spawnChildren(e) {
// kill previous spawned process
if(p) { p.kill(); }
// `spawn` a child `gulp` process linked to the parent `stdio`
p = spawn('gulp', [argv.task], {stdio: 'inherit'});
}
});
我使用了yargs
,以便在需要重新启动时接受"主任务"的运行.所以为了运行这个,你可以调用:
gulp auto-reload --task watching-task
要进行测试,请拨打touch gulpfile.js
或touch a.css
查看日志(log).