ESLint 是一个用于识别和报告在 ECMAScript/JavaScript 代码中发现的错误的工具,其目标是使代码更加一致并避免错误。在eslint v9.0.0以后可能会有所出入,请以官网为准
自动配置eslint
pnpm create @eslint/config
#或者
npm init @eslint/config
- 在
package.json
中添加命令
"scripts": {
"eslint": "eslint \"**/**/*.{vue,ts,js,jsx,tsx}\" --fix"
}
手动配置eslint
- 安装
pnpm install --save-dev eslint
- 配置文件
ESLint 配置文件名为 eslint.config.js
。放置项目的根目录下,导出一个配置对象
的数组。
import markdown from "eslint-plugin-markdown";
export default [
{
files: ["**/*.md"],
plugins: {
markdown
},
processor: "markdown/markdown",
settings: {
sharedData: "Hello"
}
},
// applies only to code blocks
{
files: ["**/*.md/*.js"],
rules: {
strict: "off"
}
}
];
配置插件
非范围包和范围包都可以省略 eslint-plugin-
前缀。
非范围包:
//eslint.config.js
{
// ...
"plugins": [
"jquery", // means eslint-plugin-jquery
]
// ...
}
范围包:
//eslint.config.js
{
// ...
"plugins": [
"@jquery/jquery", // means @jquery/eslint-plugin-jquery
"@foobar" // means @foobar/eslint-plugin
]
// ...
}
共享配置
要共享你的 ESLint 配置,请创建一个 可共享配置。 你可以在 npm 上发布你的可共享配置,以便其他人可以下载并在他们的 ESLint 项目中使用它。
创建可共享的配置
可共享配置只是导出配置对象的 npm 包。模块名称必须采用以下形式之一:
- 以
eslint-config-
开头,例如eslint-config-myconfig
。 - 成为 npm 作用域模块。,例如
@scope/eslint-config
或@scope/eslint-config-myconfig
。
使用可共享配置
配置文件的 extends
字段中包含模块名称。 例如:
{
"extends": "eslint-config-myconfig"
}
可以省略 eslint-config-
,ESLint 会自动采用它:
{
"extends": "myconfig"
}
- 在
package.json
中添加命令
"scripts": {
"eslint": "eslint \"**/**/*.{vue,ts,js,jsx,tsx}\" --fix"
}