当使用npm运行脚本运行时,ESLint产生不同的输出
当我使用当使用npm运行脚本运行时,ESLint产生不同的输出,npm,eslint,Npm,Eslint,当我使用eslint脚本/***/.jslint我的代码时,我看到两个lint错误: » eslint scripts/**/*.js /Users/user/dev/scripts/application.js 3:8 error "React" is defined but never used no-unused-vars /Users/user/dev/scripts/components/Header.js 24:2 error Unnecessary semico
eslint脚本/***/.js
lint我的代码时,我看到两个lint错误:
» eslint scripts/**/*.js
/Users/user/dev/scripts/application.js
3:8 error "React" is defined but never used no-unused-vars
/Users/user/dev/scripts/components/Header.js
24:2 error Unnecessary semicolon no-extra-semi
✖ 2 problem (2 error, 0 warnings)
那很好。当我将该命令放入我的包.json中的脚本中时,我只得到一个错误
// package.json
// ...
"scripts": {
"lint": "eslint scripts/**/*.js"
}
// ...
» npm run lint
/Users/david.tuite/dev/ui/scripts/components/Header.js
24:2 error Unnecessary semicolon no-extra-semi
✖ 2 problems (2 errors, 0 warnings)
另一个绒线错误发生了什么
编辑
我开始怀疑这是一个全球性的问题。缺少的linting错误出现在一个文件中,该文件不在脚本的子目录中
Globs在包.json
文件中的工作方式不同
诀窍是将路径匹配器用单引号括起来,以便在传递给eslint之前在shell级别进行扩展
// package.json
// ...
"scripts": {
"lint": "eslint 'scripts/**/*.js'"
}
// ...
听起来大卫的回答解决了他遇到的问题。但是,我的症状与描述的问题相同
在我的例子中,问题是npm使用的是项目目录中的node_模块,它与全局npm文件夹中的插件版本不同
从命令行运行eslint时使用的是全局版本。协调这些版本解决了我的问题