vue3项目中eslint+prettier统一代码风格方式

 更新时间:2025年05月31日 18:33:03   作者:weixin_45658815  
这篇文章主要介绍了vue3项目中eslint+prettier统一代码风格方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

准备

VS Code 插件

  • Volar(推荐用于 Vue 3)
  • ESLint
  • Prettier - Code formatter

一、eslint

介绍

ESLint 是一个 JavaScript 和 TypeScript 代码的语法规则和代码风格检查工具,可以帮助你:

  1. 发现潜在错误(如变量未定义、函数重复定义等)
  2. 统一代码风格(比如强制使用单引号、缩进为 2 个空格等)
  3. 提高代码质量(比如提示不要使用 ==,而应该用 ===)

ESLint 会根据你配置的规则(eslint.config.js.eslintrc 文件)扫描代码,然后告诉你哪里不符合这些规则。

例如:

const a = "hello"
console.log(a)

如果 ESLint 配置了以下规则:

{
  "rules": {
    "semi": ["error", "always"],  // 强制加分号
    "quotes": ["error", "single"] // 强制使用单引号
  }
}

它会提示你:

  • 应该用单引号:“hello” → ‘hello’
  • 每行结尾要加分号

为什么要用 ESLint?

  • 团队开发中可以统一代码风格
  • 早发现低级错误,避免运行时报错
  • 配合 IDE(如 VSCode)或 Git hook(如 Husky)可以实时检查

使用

1.修改包配置文件packge.json依赖如下

{
    "name": "kaishu-ui-admin-vue3-master", // 项目名称,自行修改
    "private": true,
    "version": "0.0.0",
    "scripts": {
        "dev": "vite",
        "build": "vue-tsc -b && vite build",
        "preview": "vite preview"
    },
    "dependencies": {
        "vue": "3.5.12"
    },
    "devDependencies": {
        "@vitejs/plugin-vue": "^5.0.4",
        "typescript": "5.3.3",
        "vite": "4.5.11",
        "vue-tsc": "^1.8.27",

        "@typescript-eslint/eslint-plugin": "^7.1.0",
        "@typescript-eslint/parser": "^7.1.0",
        "@unocss/eslint-config": "^0.57.4",
        "@unocss/eslint-plugin": "66.1.0-beta.5",

        "eslint": "^8.57.0",
        "eslint-config-prettier": "^9.1.0",
        "eslint-define-config": "^2.1.0",
        "eslint-plugin-prettier": "^5.1.3",
        "eslint-plugin-vue": "^9.22.0"
    }
}

2.下载依赖,pnpm i

3.新建eslint配置文件,.eslintrc.js.eslintignore,内容如下

.eslintrc.js文件

// @ts-check
const { defineConfig } = require('eslint-define-config')

module.exports = defineConfig({
    // 根配置,ESLint 将停止在父目录中查找配置文件
    root: true,

    // 设置脚本的运行环境
    env: {
        browser: true, // 浏览器全局变量
        node: true, // Node.js 全局变量和作用域
        es6: true // 启用 ES6 语法支持
    },

    // 使用 Vue 的 ESLint 解析器
    parser: 'vue-eslint-parser',

    // 解析器选项
    parserOptions: {
        parser: '@typescript-eslint/parser', // 解析 TypeScript
        ecmaVersion: 2020, // 使用 ES2020 语法
        sourceType: 'module', // 使用 ECMAScript 模块
        ecmaFeatures: {
            jsx: true // 允许 JSX
        }
    },

    // 继承的规则集
    extends: [
        'plugin:vue/vue3-recommended', // Vue 3 推荐规则
        'plugin:@typescript-eslint/recommended', // TypeScript 推荐规则
        'plugin:prettier/recommended' // Prettier 推荐规则(解决与 ESLint 的冲突)
    ],

    // 自定义规则
    rules: {
        "semi": ["error", "never"], // 禁止使用分号
        'prettier/prettier': 'warn', // 关闭 prettier 的 ESLint 校验
    }
})

.eslintignore文件

/build/
/config/
/dist/
/*.js
/test/unit/coverage/
/node_modules/*
/dist*
/src/main.ts

4.packge.json中新增运行指令

"scripts": {
       ...
       "lint": "eslint --ext .js,.ts,.vue ./src" //eslint检查错误指令
},

5.测试,在App.vue文件中某代码行后面加上;,运行命令pnpm run lint,可以看到控制台报错表明App.vue文件中有额外的分号,如下

D:\kaishu\kaishu-project\kaishu-ui-admin-vue3-master\src\App.vue
  2:53  error  Extra semicolon  semi

二、prettier

介绍

Prettier 是一个代码格式化工具,用于自动统一和美化代码风格,支持多种编程语言(如 JavaScript、TypeScript、HTML、CSS、JSON、Markdown 等)。它的核心目标是通过自动格式化代码来减少开发人员在代码风格上的争论,让大家专注于代码本身的逻辑和功能。

Prettier 的主要特点

  • 一致的代码风格:不依赖团队成员的个人格式化习惯,所有代码格式统一。
  • 开箱即用:配置简单,也可以使用默认配置快速上手。
  • 自动格式化:保存文件时自动格式化,无需手动对齐、缩进。
  • 多语言支持:支持 JS/TS、HTML、CSS、JSON、Markdown、YAML 等。
  • 集成方便:可以与 VS Code、WebStorm、Git Hooks、CI 工具集成。

使用

1.packge.json新增依赖

"devDependencies": {
	...
	"prettier": "^3.2.5",
	"prettier-eslint": "^16.3.0"
}

2.下载依赖,pnpm i

3.在./vscode文件下新建setting.json文件,该文件会覆盖vscode自带setting.json文件,文件内容配置如下。这样的话检验只开一个vscode窗口,不然会冲突

{
  "workbench.colorTheme": "Quiet Light", // 风格
  "window.zoomLevel": 1, // 整个窗口显示缩放级别
  "git.autofetch": true, // 自动拉取
  "editor.fontSize": 18, // 编辑器内字体大小
  "editor.formatOnSave": true, // 保存时格式化
  "editor.defaultFormatter": "esbenp.prettier-vscode", // 设置默认格式化器为 Prettier
}

ps:eslint 中的prettier/prettier属性需开放,不能为off,改为warn/error

4.测试,修改文件中代码缩进,自动保存,代码格式会自动调整。

总结

方面ESLintPrettier
主要目的代码质量和规范检查(代码风格、潜在错误)代码格式化(自动统一代码排版)
功能- 发现潜在错误(如未定义变量、死代码)- 自动调整缩进、换行、空格、分号等格式
- 规范代码风格(如变量命名、语句顺序)- 几乎不关注代码逻辑,只关注“外观”
规则灵活性规则丰富,且可自定义规则固定,配置项很少,注重统一
处理方式代码检查工具,发现问题并提示(可自动修复部分)代码格式化工具,直接修改代码样式
应用范围代码风格、最佳实践、潜在错误、复杂规则代码缩进、换行、括号位置、引号类型等格式

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue3.0 vue.config.js 配置基础的路径问题

    vue3.0 vue.config.js 配置基础的路径问题

    这篇文章主要介绍了vue3.0 vue.config.js 配置基础的路径问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • 前端Vue.js实现json数据导出到doc

    前端Vue.js实现json数据导出到doc

    这篇文章主要介绍了前端Vue.js实现json数据导出到doc,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • 前端vue3树形组件使用代码示例

    前端vue3树形组件使用代码示例

    最近在开发时遇到一个问题,是在输入框里面放一个树形组件,这篇文章主要给大家介绍了关于前端vue3树形组件使用的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • vue 中使用 vxe-table 制作可编辑表格的使用过程

    vue 中使用 vxe-table 制作可编辑表格的使用过程

    这篇文章主要介绍了vue 中使用 vxe-table 制作可编辑表格的使用过程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • Vue的缓存方法示例详解

    Vue的缓存方法示例详解

    这篇文章主要给大家介绍了关于Vue缓存方法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 让Vue也可以使用Redux的方法

    让Vue也可以使用Redux的方法

    这篇文章主要介绍了让Vue也可以使用Redux的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • 使用vue实现点击按钮滑出面板的实现代码

    使用vue实现点击按钮滑出面板的实现代码

    这篇文章主要介绍了使用vue实现点击按钮滑出面板的实现代码,非常不错,具有参考借鉴价值,需要的朋友参考下
    2017-01-01
  • uniapp前端支付篇之微信、抖音、快手、h5四个平台支付功能

    uniapp前端支付篇之微信、抖音、快手、h5四个平台支付功能

    支付功能在我们日常开发中经常会遇到,下面这篇文章主要给大家介绍了关于uniapp前端支付篇之微信、抖音、快手、h5四个平台支付功能的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • vue3前端导出excel表格的两种实现方法

    vue3前端导出excel表格的两种实现方法

    这篇文章主要给大家介绍了关于vue3前端导出excel表格的两种实现方法,文中通过代码以及图文介绍的非常详细,对大家学习或者使用vue3具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-11-11
  • Vue3+Vite项目按需自动导入配置以及一些常见问题修复

    Vue3+Vite项目按需自动导入配置以及一些常见问题修复

    Vite是一种新型前端构建工具,能够显著提升前端开发体验,下面这篇文章主要给大家介绍了关于Vue3+Vite项目按需自动导入配置以及一些常见问题修复的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-02-02

最新评论