【eslint】快速配置

安装

kotlin 复制代码
npm init @eslint/config@latest

经过上述操作会安装 eslint 必要的包以及生成 eslint.config.js 配置文件

插件

编辑器插件的作用是在编辑器里实时运行 ESLint 包来检查并自动修复代码

安装
复制代码
dbaeumer.vscode-eslint
配置
json 复制代码
// settings.json
{
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "explicit",
  },
  "eslint.validate": ["javascript", "typescript", "vue"],
}

配置文件

配置文件采用扁平化配置,该配置方式是 eslint v9 的新配置系统

  • 扁平化配置采用数组形式,数组中的每个对象都是一个配置对象
    • 每个配置对象都包含一套完整的 eslint 规则、文件匹配模式和其他配置选项
  • 多配置对象间的规则合并
    • 遍历配置对象数组,根据 files 和 ignores 决定文件是否匹配该配置对象
      • 无 files 配置则匹配所有文件
    • 遍历结束,若存在多个配置对象,则后者的规则覆盖前者
js 复制代码
// eslint.config.js
import js from "@eslint/js";
import globals from "globals";
import tseslint from "typescript-eslint";
import pluginVue from "eslint-plugin-vue";
import { defineConfig } from "eslint/config";

export default defineConfig([
  {
    files: ["**/*.{js,mjs,cjs,ts,mts,cts,vue}"],
    plugins: { js },
    extends: ["js/recommended"],
    languageOptions: { globals: { ...globals.browser, ...globals.node } },
  },
  tseslint.configs.recommended,
  pluginVue.configs["flat/essential"],
  {
    files: ["**/*.vue"],
    languageOptions: { parserOptions: { parser: tseslint.parser } },
  }
]);

prettier

eslint 侧重于代码质量,prettier 侧重于代码风格检查,将 prettier 作为 eslint 的插件,通过 eslint 统一管理代码质量和格式

安装依赖
arduino 复制代码
pnpm add eslint-plugin-prettier eslint-config-prettier -D
  • eslint-config-prettier: 关闭 eslint 中有关代码格式化的配置
  • eslint-plugin-prettier: 把 prettier 配置成 eslint 的一个插件
修改 eslint 配置文件
js 复制代码
// eslint.config.js
...
import eslintConfigPrettier from "eslint-config-prettier";
import eslintPluginPrettier from "eslint-plugin-prettier/recommended";

export default defineConfig([
  ...
  eslintPluginPrettier,
  eslintConfigPrettier,
]);
相关推荐
a1117769 分钟前
医院挂号预约系统(开源 Fastapi+vue2)
前端·vue.js·python·html5·fastapi
0思必得025 分钟前
[Web自动化] Selenium处理iframe和frame
前端·爬虫·python·selenium·自动化·web自动化
行走的陀螺仪2 小时前
uni-app + Vue3编辑页/新增页面给列表页传参
前端·vue.js·uni-app
We་ct3 小时前
LeetCode 205. 同构字符串:解题思路+代码优化全解析
前端·算法·leetcode·typescript
2301_812731414 小时前
CSS3笔记
前端·笔记·css3
ziblog4 小时前
CSS3白云飘动动画特效
前端·css·css3
越努力越幸运5084 小时前
CSS3学习之网格布局grid
前端·学习·css3
半斤鸡胗4 小时前
css3基础
前端·css
ziblog4 小时前
CSS3创意精美页面过渡动画效果
前端·css·css3
akangznl4 小时前
第四章 初识css3
前端·css·css3·html5