我有一个非常小的gulpfile如下,注册了一个监视任务:
var gulp = require("gulp");
var jshint = require("gulp-jshint");
gulp.task("lint", function() {
gulp.src("app/assets/**/*.js")
.pipe(jshint())
.pipe(jshint.reporter("default"));
});
gulp.task('watch', function() {
gulp.watch("app/assets/**/*.js", ["lint"]);
});
Run Code Online (Sandbox Code Playgroud)
我不能让手表任务连续运行.一旦我运行gulp手表,它立即终止.
我已经清除了我的npm缓存,重新安装了依赖项等,但没有骰子.
$ gulp watch
[gulp] Using gulpfile gulpfile.js
[gulp] Starting 'watch'...
[gulp] Finished 'watch' after 23 ms
Run Code Online (Sandbox Code Playgroud)
它本身并没有退出,而是同步运行任务.
您需要从lint任务返回流,否则gulp不知道该任务何时完成.
gulp.task("lint", function() {
return gulp.src("./src/*.js")
^^^^^^
.pipe(jshint())
.pipe(jshint.reporter("default"));
});
Run Code Online (Sandbox Code Playgroud)
此外,您可能不想使用gulp.watch此类手表的任务.这可能使得使用更有意义的gulp-watch插件,这样你就可以只处理更改的文件,有点像这样:
var watch = require('gulp-watch');
gulp.task('watch', function() {
watch({glob: "app/assets/**/*.js"})
.pipe(jshint())
.pipe(jshint.reporter("default"));
});
Run Code Online (Sandbox Code Playgroud)
此任务不仅会在文件更改时丢失,而且还会添加任何添加的新文件.
| 归档时间: |
|
| 查看次数: |
9374 次 |
| 最近记录: |