如何配置package.json以运行eslint脚本。

110

我正在为我的React项目使用ESLint作为代码检查工具,并希望它检查所有的.js文件。

我可以通过以下脚本实现:

"lint": "eslint back/*.js && eslint backTest/*.js && eslint front/actions/*.js"

我该如何使其递归地检查每个 .js 文件,就像这样:

如何递归检查每个 .js 文件:

"lint": "eslint -r *.js"
这将节省我逐个输入每个文件的时间。
4个回答

137

eslint "**/*.js" 可以递归地运行所有文件夹中的所有 js 文件(在当前文件夹中)

你也可以这样做:AnyFolder/**/*.js

如果要忽略一个文件夹:eslint "**/*.js" --ignore-pattern node_modules/

了解更多信息,请访问 eslint/command-line-interface


我使用Tern在我的Eclipse Oxygen中设置了ESLint。它正在检查所有文件,但我需要将其设置仅针对*.js文件进行检查。在这里应该怎么办? - Nikita Dhiman
@Colin @Hadrian 默认情况下,eslint 只解析 *.js 文件,对吗?另外,阅读文档,如果添加 .,就足以遍历所有子树查找 js 文件。 - Saba Ahang
1
ESLint总是忽略/node_modules/*/bower_components/*中的文件。文档 编辑:好的,我意识到你的答案也忽略了子路径中的node_modules,我的错。 - zypA13510

70
使用命令 eslint . --ext .js 来检查 .js 后缀的文件。
. 表示在当前目录及其所有子目录中的文件。
要包含其他文件扩展名,使用 eslint . --ext .js,.jsxeslint . --ext .js --ext .jsx 命令。
eslint文档 提供了该选项的详细解释。

6

在 TranBrian10 的解决方案之上,我本地安装了 eslint,在终端中调用 eslint 时会出现 command not found 错误。

我通过使用 npx eslint 来解决这个问题:

`eslint . --ext .js` -> `npx eslint . --ext .js`

正如GollyJer所指出的那样,由于.语法,这将无法在Windows上运行。


3

我不确定已接受的答案是否已经过时,但通过查看文档

默认情况下,它仅使用 .js 作为文件扩展名。

此外,根据项目Github上某成员的评论,使用 . 等同于在所有子目录中运行。我认为只需运行 eslint . 即可(尽管它不包括新的ES模块 .mjs 文件)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接