在学习《web前端自动化构建》一书,根据第二章《Gulp入门》中,为使用JSHint进行代码风格检查,安装gulp-jshint后,写了如下示例代码:
const jshint = require('gulp-jshint');
gulp.task('test', () => {
return gulp.src('./app/**/*.js')
.pipe(jshint())
.pipe(jshint.reporter('default'))
.pipe(jshint.reporter('fail'))
});
运行gulp test
, 出现如下错误:
module.js:442
throw err;
^
Error: Cannot find module 'jshint/src/cli'
at Function.Module._resolveFilename (module.js:440:15)
at Function.Module._load (module.js:388:25)
at Module.require (module.js:468:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (E:\Nodejs\mywebpackDemo\node_modules\gulp-jshint\src\extract.js:1:79)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:458:32)
at tryModuleLoad (module.js:417:12)
at Function.Module._load (module.js:409:3)
分析
控制台报错,找不到jshint,解决这种错误,最简单的方法就是,安装找不到的包。
解决方法
执行命令:
npm install --save-dev jshint
以后在使用JSHint进行代码风格检查时,可直接一次性安装jshint
和gulp-jshint
。
即:
npm install --save-dev jshint gulp-jshint
参考文章:
https://stackoverflow.com/questions/33984558/gulp-error-cannot-find-module-jshint-src-cli