我正在开发一个 Gulpfile
。可以让它一改变就重新启动吗?我正在使用 CoffeeScript 开发它。 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
以查看日志。
关于javascript - 每次 Gulpfile 更改后如何重新启动 Gulp?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22886682/