gulp-watch不会更新gulp-jshint

时间:2014-11-10 20:35:32

标签: gulp gulp-watch

这段代码出了什么问题:

var gulp = require('gulp');
var watch = require('gulp-watch');
var connect = require('gulp-connect');
var jshint = require('gulp-jshint');
var stylish = require('jshint-stylish');

//lint
module.exports = gulp.task('lint', function () {
  return gulp.src([config.paths.src.scripts,config.paths.exclude.bower])
  .pipe(jshint())
  .pipe(jshint.reporter(stylish));
});

//watch
module.exports = gulp.task('watch', function () {
    watch(config.paths.src.scripts, ['lint'])
        .pipe(connect.reload());
    watch(config.paths.src.templates, ['templates'])
        .pipe(connect.reload());
    watch(config.paths.src.index)
        .pipe(connect.reload());
});

当我编辑一个js文件时发生错误 jshint什么也没给我看。

这有效:

watch(config.paths.src.scripts)
    .pipe(jshint())
    .pipe(jshint.reporter(stylish))
        .pipe(connect.reload());

但它是否完全相同?

1 个答案:

答案 0 :(得分:1)

gulp-watch不支持像内部gulp.watch这样的任务名称数组。请参阅https://www.npmjs.org/package/gulp-watch

上的文档

你必须提供gulp-watch一个功能,比如

watch(config.paths.src.scripts, function(events, done) {
   gulp.start(['lint'], done);
}

注意:似乎gulp.start将在Gulp 4.x中弃用,它将被名为bach的任务运行程序取代:https://github.com/floatdrop/gulp-watch/issues/92