eslint

63 阅读1分钟

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"
}