0

这段代码有什么问题:

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());

但它是否完全一样?

4

1 回答 1

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

于 2014-11-12T09:12:35.320 回答