当使用 npm 运行-script 运行 时 ESLint 产生不同的输出
ESLint producing different output when run with npm run-script
当我使用 eslint scripts/**/*.js
对我的代码进行 lint 时,我看到两个 linting 错误:
» 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)
没关系。当我将该命令放入 package.json
中的 "scripts"
时,我只得到一个错误。
// 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 错误是怎么回事?
编辑
我开始怀疑这是一个问题。丢失的 linting 错误出现在不在 scripts
.
的子目录中的文件中
Glob 在 package.json
文件中的工作方式不同。
诀窍是将路径匹配器用单引号括起来,以便在将它们传递给 eslint 之前在 shell 级别展开它们。
// package.json
// ...
"scripts": {
"lint": "eslint 'scripts/**/*.js'"
}
// ...
听起来大卫的回答解决了他遇到的问题。但是,我遇到了与描述的问题相同的症状。
在我的例子中,问题是 npm 在项目目录中使用了 node_modules,它的插件版本与全局 npm 文件夹不同。
运行 命令行中的 eslint 使用的是全局版本。协调这些版本解决了我的问题。
当我使用 eslint scripts/**/*.js
对我的代码进行 lint 时,我看到两个 linting 错误:
» 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)
没关系。当我将该命令放入 package.json
中的 "scripts"
时,我只得到一个错误。
// 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 错误是怎么回事?
编辑
我开始怀疑这是一个问题。丢失的 linting 错误出现在不在 scripts
.
Glob 在 package.json
文件中的工作方式不同。
诀窍是将路径匹配器用单引号括起来,以便在将它们传递给 eslint 之前在 shell 级别展开它们。
// package.json
// ...
"scripts": {
"lint": "eslint 'scripts/**/*.js'"
}
// ...
听起来大卫的回答解决了他遇到的问题。但是,我遇到了与描述的问题相同的症状。
在我的例子中,问题是 npm 在项目目录中使用了 node_modules,它的插件版本与全局 npm 文件夹不同。
运行 命令行中的 eslint 使用的是全局版本。协调这些版本解决了我的问题。