ESLint 入门
ESLint 是一个用于识别和报告 ECMAScript/JavaScript 代码中模式的工具,其目标是使代码更一致并避免错误。
ESLint 完全可扩展。每个规则都是一个插件,您可以在运行时添加更多规则。您还可以添加社区插件、配置和解析器以扩展 ESLint 的功能。
先决条件
要使用 ESLint,您必须安装具有 SSL 支持的 Node.js (^18.18.0
、^20.9.0
或 >=21.1.0
)。 (如果您使用的是官方 Node.js 发行版,则 SSL 始终内置。)
快速入门
您可以使用以下命令安装和配置 ESLint
npm init @eslint/config@latest
# or
yarn create @eslint/config
# or
pnpm create @eslint/config@latest
如果您想使用托管在 npm 上的特定可共享配置,您可以使用 --config
选项并指定包名称
# use `eslint-config-standard` shared config
# npm 7+
npm init @eslint/config@latest -- --config eslint-config-standard
注意:npm init @eslint/config
假设您已经有一个 package.json
文件。如果没有,请确保事先运行 npm init
或 yarn init
。
之后,您可以像这样在任何文件或目录上运行 ESLint
npx eslint yourfile.js
# or
yarn run eslint yourfile.js
配置
注意:如果您来自 9.0.0 之前的版本,请参阅 迁移指南。
运行 npm init @eslint/config
后,您的目录中将有一个 eslint.config.js
(或 eslint.config.mjs
)文件。在其中,您将看到一些像这样配置的规则
// eslint.config.js
export default [
{
rules: {
"no-unused-vars": "error",
"no-undef": "error"
}
}
];
名称 "no-unused-vars"
和 "no-undef"
是 ESLint 中 规则 的名称。第一个值是规则的错误级别,可以是以下值之一
"off"
或0
- 关闭规则"warn"
或1
- 将规则打开为警告(不影响退出代码)"error"
或2
- 将规则打开为错误(退出代码将为 1)
这三个错误级别允许您对 ESLint 如何应用规则进行细粒度控制(有关更多配置选项和详细信息,请参阅 配置文档)。
您的 eslint.config.js
配置文件还将包含一个推荐的配置,如下所示
// eslint.config.js
import js from "@eslint/js";
export default [
js.configs.recommended,
{
rules: {
"no-unused-vars": "warn",
"no-undef": "warn"
}
}
];
js.configs.recommended
对象包含配置,以确保 规则页面 上标记为推荐的所有规则都将被打开。或者,您可以通过在 npmjs.com 上搜索“eslint-config”来使用其他人创建的配置。除非您从共享配置中扩展或在您的配置中显式打开规则,否则 ESLint 不会 lint 您的代码。
全局安装
还可以使用 npm install eslint --global
全局安装 ESLint,而不是本地安装。但是,不推荐这样做,如果您全局安装 ESLint,您使用的任何插件或可共享配置都必须仍然本地安装。
手动设置
您也可以在项目中手动设置 ESLint。
在您开始之前,您必须已经有一个 package.json
文件。如果没有,请确保事先运行 npm init
或 yarn init
来创建该文件。
-
在您的项目中安装 ESLint 包
npm install --save-dev eslint @eslint/js
-
添加一个
eslint.config.js
文件# Create JavaScript configuration file touch eslint.config.js
-
将配置添加到
eslint.config.js
文件。请参考 配置 ESLint 文档 了解如何添加规则、自定义配置、插件等等。import js from "@eslint/js"; export default [ js.configs.recommended, { rules: { "no-unused-vars": "warn", "no-undef": "warn" } } ];
-
使用 ESLint CLI lint 代码
npx eslint project-dir/ file1.js
有关可用 CLI 选项的更多信息,请参阅 命令行界面。