Skip to content

ESLint

介绍

ESLint 是一个用于识别和报告 JavaScript 代码中的模式的工具。它可以帮助开发者保持代码质量和一致性,避免常见的编程错误。

快速开始

1. 安装

bash
npm i -D eslint

2. 生成配置文件

bash
npm init @eslint/config
支持的配置文件
  • eslint.config.js
  • ...
js
{
  extends: ['plugin:prettier/recommended'],
  files: ['src/*.ts', 'src/*.tsx'],
  rules: {
    'one-var': [0],
    semi: [2, 'always'],
    'max-params': ['error', 5],

     'prettier/prettier': ['error', { endOfLine: 'auto' }],
  },
},
配置项说明

忽略代码

配置项 globalIgnores

js
// eslint.config.js
import { defineConfig, globalIgnores } from 'eslint/config'

export default defineConfig([
  globalIgnores([
    '!node_modules/', // unignore `node_modules/` directory
    'node_modules/*', // ignore its content
    '!node_modules/mylibrary/', // unignore `node_modules/mylibrary` directory
  ]),
])

忽略代码

在代码中通过注释让 ESLint 忽略某行或某段代码:

  • 忽略下一行

    js
    // eslint-disable-next-line
    const foo = 'bar'
  • 忽略当前行

    js
    const foo = 'bar' // eslint-disable-line
  • 忽略一个代码块

    js
    /* eslint-disable */
    // 这里的所有代码都会被忽略 ESLint
    const foo = 'bar'
    /* eslint-enable */

插件推荐

React

Vue

常见示例

Vue + TS + Prettier

  1. 安装依赖
bash
pnpm add -D eslint eslint-plugin-vue @vue/eslint-config-prettier @vue/eslint-config-typescript
  1. 配置文件
js
import pluginVue from 'eslint-plugin-vue'
import vueTsEslintConfig from '@vue/eslint-config-typescript'
import skipFormatting from '@vue/eslint-config-prettier/skip-formatting'

export default [
  {
    name: 'app/files-to-lint',
    files: ['**/*.{ts,mts,tsx,vue}'],
  },

  {
    name: 'app/files-to-ignore',
    ignores: ['**/dist/**', '**/dist-ssr/**', '**/coverage/**'],
  },

  ...pluginVue.configs['flat/essential'],
  ...vueTsEslintConfig(),
  skipFormatting,
]
  1. 添加脚本
json
{
  "scripts": {
    "lint": "eslint . --fix"
  }
}

基于 MIT 许可发布