Vue3 + ESLint9代码规范配置指南

 更新时间:2026年05月24日 09:32:21   作者:叫我少年  
在Vue3项目中引入ESLint不仅能提升代码美观度,通过eslint-plugin-vueue插件,以及扁平配置方式,实现高效统一的代码风格检查,具有一定的参考价值,感兴趣的可以了解一下

在 Vue 3 项目里引入 ESLint,不只是为了“看着舒服”——它能帮你提前揪出潜在 bug,统一团队的代码风格,避免因为缩进、引号这类。关键插件是 eslint-plugin-vue,它专门为 Vue 文件提供了针对性规则。

参考ESLint v9 官方文档

开始之前:装包与初始化

一行命令搞定依赖:

# 安装 ESLint 核心库
npm install --save-dev eslint
# 交互式生成配置文件
npx eslint --init

初始化过程会问一些问题(比如你用的是哪种模块格式、框架、TypeScript 还是 JS 等),一路按项目需求选就行。

配置脚本:写入package.json

把下面这段加进 scripts​ 里,日常敲 npm run lint​ 就能检查所有 .js​、.ts​、.vue 文件:

"scripts": {
  "dev": "vite",
  "build": "vue-tsc -b && vite build",
  "preview": "vite preview",
  "lint": "eslint . --ext .js,.ts,.vue",
  "lint:fix": "eslint . --ext .js,.ts,.vue --fix",
  "lint:src": "eslint src --ext .js,.ts,.vue",
  "lint:typescript": "eslint . --ext .ts,.vue",
  "lint:report": "eslint . --ext .js,.ts,.vue --format html > eslint-report.html",
  "precommit": "lint-staged"
}

常见坑​:如果你用 pnpm,别忘了装 lint-staged​ 和 husky​,否则 precommit 脚本不会生效。

配置文件:eslint.config.ts(ESLint 9 风格)

ESLint 9 全面拥抱扁平配置(flat config),不再用 .eslintrc.js。以下是一个适配 Vue 3 + TypeScript 的示例:

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([
  {
    ignores: [
      'node_modules',
      'dist',
      '.gitignore',
      'package.json',
      'package-lock.json',
      '.DS_Store',
      'dev-dist',
      'dist_electron',
      '*.d.ts',
      'src/assets/**'
    ],
    files: ['**/*.{js,mjs,cjs,ts,mts,cts,vue}'],
    plugins: { js },
    extends: ['js/recommended'],
    languageOptions: { globals: globals.browser }
  },
  { files: ['**/*.js'], languageOptions: { sourceType: 'commonjs' } },
  /** js推荐配置 */
  tseslint.configs.recommended,
  /** vue推荐配置 */
  pluginVue.configs['flat/essential'],
  { files: ['**/*.vue'], languageOptions: { parserOptions: { parser: tseslint.parser } } }
]);

划重点pluginVue.configs['flat/essential']​ 是 ESLint 9 下 eslint-plugin-vue​ 的推荐入口。如果你需要更强的规则(如 strongly-recommended​),可以改为 flat/strongly-recommended

到此这篇关于Vue3 + ESLint9代码规范配置指南的文章就介绍到这了,更多相关Vue3  ESLint9代码规范内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!‍

相关文章

  • Vue编译器AST抽象语法树源码分析

    Vue编译器AST抽象语法树源码分析

    这篇文章主要为大家介绍了Vue编译器AST抽象语法树源码分析详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • 命令行CLI一键生成各种烦人的lint配置实例

    命令行CLI一键生成各种烦人的lint配置实例

    这篇文章主要为大家介绍了命令行CLI一键生成各种烦人的lint配置实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Vue嵌套iframe时$router.go(-1)后退bug的原因解析

    Vue嵌套iframe时$router.go(-1)后退bug的原因解析

    这篇文章主要介绍了Vue嵌套iframe,$router.go(-1)后退bug的问题原因及解决方法,本文给大家分享问题原因所在及解决方案,需要的朋友可以参考下吧
    2023-09-09
  • Electron + Vue3桌面应用开发实战指南(含完整代码)

    Electron + Vue3桌面应用开发实战指南(含完整代码)

    electron与vue的结合,能够高效打造具备双向数据绑定能力的跨平台桌面应用程序,这篇文章主要介绍了Electron+Vue3桌面应用开发实战指南的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2026-05-05
  • 基于Vue3实现组件封装的技巧分享

    基于Vue3实现组件封装的技巧分享

    这篇文章主要介绍了基于Vue3实现组件封装的技巧,本文在Vue3的基础上针对一些常见UI组件库组件进行二次封装,旨在追求更好的个性化,更灵活的拓展,感兴趣的小伙伴跟着小编一起来看看吧
    2024-09-09
  • 在vue使用echarts报错:invalid dom问题

    在vue使用echarts报错:invalid dom问题

    这篇文章主要介绍了在vue使用echarts报错:invalid dom问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • vue.js 表格分页ajax 异步加载数据

    vue.js 表格分页ajax 异步加载数据

    Vue.js通过简洁的API提供高效的数据绑定和灵活的组件系统.这篇文章主要介绍了vue.js 表格分页ajax 异步加载数据的相关资料,需要的朋友可以参考下
    2016-10-10
  • vue实现el-table点选和鼠标框选功能的方法

    vue实现el-table点选和鼠标框选功能的方法

    在Vue中我们经常需要处理表格数据,这篇文章主要给大家介绍了关于vue实现el-table点选和鼠标框选功能的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • 前端笔记之vue中Map、Set之间的使用和区别详析

    前端笔记之vue中Map、Set之间的使用和区别详析

    Vue中的Map格式,是一种用于存储和管理键值对数据的集合,与常规的数组不同,Map提供了更灵活和高效的方式来操作数据,这篇文章主要介绍了前端笔记之vue中Map、Set之间的使用和区别的相关资料,需要的朋友可以参考下
    2025-11-11
  • Vue实现多页签组件

    Vue实现多页签组件

    这篇文章主要介绍了Vue实现多页签组件的方法,帮助大家更好的理解和使用vue框架,感兴趣的朋友可以了解下
    2021-01-01

最新评论