当明确定义时,jshint在gulp任务中抛出TypeError

时间:2016-01-08 17:59:46

标签: javascript node.js gulp task jshint

我试图在某些JS文件上运行jshint,但由于某些原因我收到错误,我不明白。

//(node v4.2.2)
var jshint = require('jshint');
gulp.task('hint', function(){
  return gulp.src('./app/**/*.js')
    .pipe(jshint())
    .pipe(jshint.reporter('default'));
});
  

[11:40:09]开始'提示' ...

     

[11:40:09]'提示'在7.08毫秒后出错

     

[11:40:09] TypeError:jshint不是函数

我一直在查看releases page,看起来2.9.0存在一些问题,但是我在两个版本候选版本和恢复到早期版本时遇到了同样的错误。几周前这项任务运作良好,但似乎有些事情已经破裂。像这样记录jshint,给我下面的字符串。

gulp.task('testhint', function(){
  console.log(jshint)
});

//{ JSHINT: { [Function] addModule: [Function], data: [Function], jshint: [Circular] } }

我尝试删除并重新安装node_modules也无济于事。为什么gulp说jshint不是一个函数?

1 个答案:

答案 0 :(得分:1)

来自documentation

NOTE: as of 2.0 jshint must to be installed with gulp-jshint.

将声明更改为:

var jshint = require('gulp-jshint');