运行grunt时报No "eslint" targets found错误如何解决?
错误原因
该报错不是缺少eslint本体,而是Grunt的eslint任务没有配置对应的执行目标(即需要校验的文件路径规则),你本地的.eslintrc.js只是eslint本身的校验规则配置,不包含Grunt任务所需的执行范围配置。
解决步骤
- 第一步:确认已安装Grunt的eslint适配插件,很多用户只装了eslint本体遗漏了这个依赖:
npm install grunt-eslint --save-dev
- 第二步:配置eslint的Grunt任务目标,因为你使用了
load-grunt-config插件,两种配置方式二选一即可:
方式1:使用load-grunt-config约定的拆分配置(推荐)
在项目根目录新建grunt文件夹,文件夹内新建eslint.js文件,写入以下内容,根据你的项目实际路径调整需要校验的文件范围:
方式2:直接在现有Gruntfile.js中补充配置module.exports = { // 可自定义多个target,比如dev、build对应不同场景的校验范围 dev: { src: [ // 示例:校验src目录下所有js文件,以及根目录的Gruntfile.js 'src/**/*.js', 'Gruntfile.js' ] } }
在grunt.loadNpmTasks('grunt-run');行之前补充initConfig配置:grunt.initConfig({ eslint: { target: ['src/**/*.js', '*.js'] } }); - 第三步:验证配置是否生效,先单独执行eslint任务:
grunt eslint
如果没有报错再执行默认的grunt命令即可正常运行。
内容的提问来源于stack exchange,提问作者SkyDev
相关产品推荐
相关产品推荐

