Vue 3 项目怎么配置 ESLint 和 Prettier 统一代码风格

陌静大大_8567

陌静大大_8567

2026-09-18

746人浏览

原创

vue3项目中eslint与prettier协同工作的关键是明确分工:eslint检查代码质量(如any滥用、vue语法错误),prettier统一格式(缩进、引号等);需安装eslint@^8.57.0、eslint-plugin-vue@^9.25.0、prettier@^3.3.0等兼容版本,通过eslint-config-prettier禁用冲突规则,并在eslint.config.js中按序继承规则、配置parser及全局宏,结合vs code设置实现保存时自动修复与格式化。

vue 3 项目怎么配置 eslint 和 prettier 统一代码风格

Vue 3 项目要让 ESLint 和 Prettier 协同工作,关键不是“各自为政”,而是明确分工、消除冲突、自动落地。ESLint 负责检查代码质量(比如未使用变量、any 类型滥用、Vue 语法错误),Prettier 负责统一排版(缩进、换行、引号、括号间距等)。两者配错顺序或规则,反而会互相打架。

安装必要依赖

用 npm 或 pnpm 安装核心工具链,注意版本兼容性(2026 年推荐组合):

  • ESLint 核心eslint@^8.57.0
  • Vue 支持eslint-plugin-vue@^9.25.0(专为 Vue 3 设计)
  • TypeScript 支持@typescript-eslint/parser@^7.12.0@typescript-eslint/eslint-plugin@^7.12.0
  • Prettier 集成prettier@^3.3.0 + eslint-plugin-prettier@^5.1.0 + eslint-config-prettier@^9.1.0

命令示例(pnpm):

pnpm add -D eslint prettier eslint-plugin-vue @typescript-eslint/parser @typescript-eslint/eslint-plugin eslint-plugin-prettier eslint-config-prettier

配置文件结构与内容

推荐使用 eslint.config.js(ESM 风格)或 .eslintrc.cjs(CJS 风格),搭配独立的 .prettierrc.json

.prettierrc.json 示例(兼顾可读性与现代实践):

Vue
Vue

避免 Vue 常见错误——响应式陷阱、ref 与 reactive 区别、计算属性时机及 Composition API 陷阱。

下载
{ "printWidth": 100, "tabWidth": 2, "useTabs": false, "semi": false, "singleQuote": true, "quoteProps": "as-needed", "trailingComma": "es5", "bracketSpacing": true, "arrowParens": "always", "vueIndentScriptAndStyle": true, "singleAttributePerLine": true }

eslint.config.js 关键要点:

  • 按顺序引入:基础 JS 规则 → Vue 3 推荐规则 → TypeScript 规则 → eslint-config-prettier(必须在 Vue/TS 规则之后、eslint-plugin-prettier 之前)→ 最后启用 prettier/prettier 规则
  • 设置 parser: 'vue-eslint-parser',并指定内部 parser 为 @typescript-eslint/parser
  • languageOptions.globals 中声明 Vue 3 宏(defineProps, defineEmits 等)为只读

VS Code 自动化集成

确保编辑器保存时真正生效,不靠手动格式化:

  • 安装插件:ESLint(by Microsoft)和 Prettier(by Esben Petersen)
  • 在工作区 .vscode/settings.json 中设置:
{ "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" }, "[vue]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" } }

注意:source.fixAll.eslint 设为 "explicit" 表示仅执行 ESLint 明确标记为可自动修复的规则(如引号、分号),避免覆盖 Prettier 的格式决策。

规避常见冲突

最典型的错误是规则重叠导致报错或修复失败:

  • 禁用 ESLint 的格式类规则:通过 eslint-config-prettier 关闭所有与 Prettier 冲突的规则(如 indent, quotes, comma-dangle
  • 不要在 ESLint 中启用 prettier/prettier 以外的格式规则,尤其避免 plugin:prettier/recommendedeslint-config-prettier 混用
  • Vue 文件中 script setup 的类型推导问题:确保 @typescript-eslint/parserproject 选项指向正确的 tsconfig.json,否则类型相关规则可能失效

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2023

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

4323

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

5430

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

4878

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

683

5

vue2.0和3.0区别
vue2.0和3.0区别

vue2.0和3.0区别:vue2的响应式原理是利⽤“Object.defineProperty()”对数据进⾏劫持结合发布订阅模式的⽅式来实现,vue3中使⽤了es6的proxy API对数据代理,实现对数据的监控。本专题为大家提供vue2.0和3.0区别的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.17

1594

5

vue3的生命周期有哪些
vue3的生命周期有哪些

vue3的生命周期:1、beforecreate;2、created;3、beforemount;4、mounted;5、beforeupdate;6、updated;7、beforedestroy;8、destroyed;9、activated;10、deactivated等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

11582

5

Vue3组合式API与组件开发实战
Vue3组合式API与组件开发实战

本专题讲解 Vue 3 组合式 API 的核心概念与应用技巧,深入分析响应式系统、生命周期管理、组件设计与复用策略。通过完整项目案例,指导前端开发者实现高性能、结构清晰的 Vue 应用,提升开发效率与代码可维护性。

2026.02.10

256

23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Vue 教程
Vue 教程

共42课时 | 16.6万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.4万人学习

Vue.js 微实战--十天技能课堂
Vue.js 微实战--十天技能课堂

共18课时 | 1.6万人学习