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

问题描述 投票:0回答:5

我正在使用 eslint 作为我的 React 项目的 linter,我希望它检查我所有的

.js
文件。

我可以通过脚本来做到这一点:

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

我怎样才能让它递归地检查每个

.js
文件,比如:

"lint": "eslint -r *.js"

这将使我不必单独输入每个文件。

reactjs webpack lint package.json
5个回答
140
投票

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

您还可以这样做:

AnyFolder/**/*.js

忽略文件夹:

eslint "**/*.js" --ignore-pattern node_modules/

了解更多信息,请访问 eslint/命令行界面


74
投票

eslint . --ext .js
检测扩展名为 .js 的文件。

.
针对当前目录和所有子目录中的文件。

要包含其他文件扩展名,

eslint . --ext .js,.jsx
eslint . --ext .js --ext .jsx

eslint 文档涵盖了此选项。


7
投票

为了添加到 TranBrian10 的解决方案,我在本地安装了 eslint,因此在终端中调用

eslint
会导致
command not found
错误。

我可以通过使用

npx eslint
来解决这个问题:

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

正如 GollyJer 指出的,由于

.
语法

,这不适用于 Windows

3
投票

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

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

另外,根据项目Github上一位成员的评论,使用

.
等于在所有子目录中运行。在我看来,运行
eslint .
就足够了(尽管它不涵盖新的 ES 模块
.mjs
文件)。


0
投票

使用现代

eslint
(来自
v8.21.0
),如果您使用新的配置文件
eslint.config.js
,则不再支持
--ext
选项
。相反,在配置中指定要 lint 的文件,然后运行
eslint .
对所有指定的文件进行 lint。

示例

eslint.config.js

/** @type {import('eslint').Linter.Config[]} */
export default [
  { files: ["**/*.{js,mjs,cjs,ts,jsx,tsx}"] },
  { ignores: ["dist" ] },
  // Other config options here
];
© www.soinside.com 2019 - 2025. All rights reserved.