2016-01-08 82 views
0

我試圖在一些JS文件上運行jshint,但由於某種原因我得到一個錯誤,我不明白。jshint拋出TypeError在吞噬任務,當它明確定義

//(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] Starting 'hint'...

[11:40:09] 'hint' errored after 7.08 ms

[11:40:09] TypeError: jshint is not a function

我一直在尋找的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

documentation

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

更改聲明:

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