当使用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时使用的是全局版本。协调这些版本解决了我的问题