vite+vue3代码风格校验及格式化

本文介绍如何使用Eslint与Prettier工具来统一团队代码风格,包括安装必要的包、配置文件以及VSCode的设置步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

团队代码风格统一一直是博主想干又没有时间去干的事情,刚好借着新项目搭建,尝试一下使用Eslint及Prettier工具提升一下项目代码的整体质量。本文在配置方面仅做简单的配置,流程熟悉可以参考Eslint及Prettier官方文档定制自己喜欢的标准。

安装Eslint包

npm install eslint -D

初始化Eslint

npm init @eslint/config

执行命令后会出现以下选项:(可以按照图片配置,也可以后面直接更改.eslintrc.cjs文件)
init详情
具体配置可以以自己项目为准,博主这里使用的是vite+vue3+js
安装完成之后项目的根目录会出现.eslintrc.cjs文件

module.exports = {
    "env": {
        "browser": true,
        "es2021": true,
        "node": true
    },
    "extends": [
        "eslint:recommended",
        "plugin:vue/vue3-essential"
    ],
    "overrides": [
    ],
    "parserOptions": {
        "ecmaVersion": "latest",
        "sourceType": "module"
    },
    "plugins": [
        "vue"
    ],
    "rules": {
    }
}

安装vite-plugin-eslint包

// 该包的作用是在vite运行时自动检测eslint规范,根据配置在终端显示未通过的校验代码
npm install vite-plugin-eslint -D

安装eslint-parser 及 @babel/core 包

// 该包的作用是允许eslint在babel转换的源代码上运行
npm install @babel/eslint-parser -D
npm install @babel/core -D

安装prettier相关包

npm install prettier -D
npm install eslint-config-prettier -D // eslint兼容的插件,将关闭eslint所有不必要或可能与Prettier冲突的规则
npm install eslint-plugin-prettier -D // eslint的prettier,将Prettier作为ESLint规则运行,并将差异作为单个ESLint问题报告。

安装vue-eslint-parser包

// 用于`.vue`文件的ESLint自定义解析器。
npm install vue-eslint-parser -D

配置.prettierrc

// .prettierrc, 配置不做过多说明,具体可查阅相关文档
{
  "printWidth": 120,
  "tabWidth": 2,
  "useTabs": false,
  "semi": false,
  "trailingComma": "none",
  "singleQuote": true,
  "bracketSpacing": true,
  "jsxBracketSameLine": false,
  "endOfLine": "auto",
  "arrowParens": "avoid"
}

配置.eslintrc.cjs

module.exports = {
  env: {
    browser: true,
    es2021: true,
    node: true
  },
  extends: [
    'eslint:recommended', // eslint核心规则
    'plugin:vue/vue3-essential', // 继承eslint-plugin-vue组件中的基础配置
    'plugin:prettier/recommended', // 继承eslint-plugin-prettier组件中的基础配置
    'eslint-config-prettier' // 处理配置兼容问题
  ],
  parser: 'vue-eslint-parser', // 使用vue解析器
  parserOptions: { // 设置支持的JavaScript语言选项
    ecmaVersion: 'latest', // 指定EcmaScript的版本
    sourceType: 'module', // script/module
    ecmaFeatures: {
      jsx: true
    }
  },
  plugins:{
  	'vue', // eslint-plugin-vue缩写
  	'prettier' // eslint-plugin-prettier缩写
  },
  globals: {
  	// 添加全局变量,防止no-undef 规则发出警告
    defineProps: 'readonly',
    defineEmits: 'readonly',
    defineExpose: 'readonly',
    withDefaults: 'readonly'
  },
  rules: {
    'no-console': 'warn',
    'vue/multi-word-component-names': 'off' // extends中继承过来的属性,可以重新修改
    ...
  }
}

VSCode配置

安装ESLint及Prettier插件
Eslint插件
Prettier插件

  1. 打开VSCode设置>用户>文本编辑器>格式化>勾选Format On Save

配置保存自动格式化
2. 搜索Prettier>勾选Require Config
配置方案文件
3.打开VSCode设置>用户>文本编辑器>Default Formatter>选择Prettier - Code formatter
配置默认格式化程序
4.ctr+shift+p打开首选项配置settings.json>添加eslint vue支持

...
"eslint.validate": [
  "javascript",
   "javascriptreact",
   "vue"
 ],
...

特别提醒:每次修改完Eslint及Prettier配置最好重新启动VSCode,防止出现配置不生效的情况

### 1. 配置 Husky 的背景 Husky 是一种用于 Git Hooks 的工具,它可以帮助开发者在执行某些 Git 命令之前运行脚本。通过 Husky,可以在提交代码前自动触发 ESLint 或 Prettier 等工具来校验代码质量[^1]。 --- ### 2. 安装依赖 为了实现基于 ViteVue3 和 TypeScript 的项目中的 Husky 配置,首先需要安装必要的依赖包: #### 安装 Husky ```bash npm install husky --save-dev ``` #### 初始化 Husky 初始化 Husky 并启用 Git Hooks 功能: ```bash npx husky-init && npm install ``` 这一步会在 `.husky` 文件夹下创建默认的 `pre-commit` Hook 脚本文件,并将其添加到项目的根目录中[^3]。 #### 可选:安装 Lint-Staged 如果希望仅针对即将被提交的文件运行校验,则可以安装 `lint-staged` 工具: ```bash npm install lint-staged --save-dev ``` --- ### 3. 配置 Husky Hooks 编辑 `.husky/pre-commit` 文件以指定钩子的行为。例如,在提交前运行 ESLint 校验命令: ```bash #!/bin/sh . "$(dirname "$0")/_/husky.sh" # 运行 eslint 对暂存区文件进行校验 npx lint-staged ``` 上述脚本将在每次执行 `git commit` 命令时调用 `lint-staged` 来处理暂存区域内的文件。 --- ### 4. 配置 Lint-Staged 在 `package.json` 中新增或修改 `lint-staged` 配置项,以便定义具体的校验逻辑。以下是常见的配置示例: ```json { "lint-staged": { "*.{ts,tsx,vue}": [ "eslint --fix", "prettier --write" ], "*.css": ["stylelint --fix"], "*.{png,jpg,gif,svg}": ["imagemin"] } } ``` 此配置表示对于扩展名为 `.ts`, `.tsx`, `.vue` 的文件将依次运行 ESLint 自动修复和 Prettier 格式化;而对于 CSS 文件则应用 Stylelint。 --- ### 5. 添加 Commit Message 规范支持 (可选) 可以通过集成 **CommitLint** 和 **CZ CLI** 实现更严格的提交消息管理。 #### 安装 CommitLint ```bash npm install @commitlint/{cli,config-conventional} --save-dev ``` #### 创建 CommitLint 配置文件 新建 `.commitlintrc.js` 文件并写入如下内容: ```javascript module.exports = { extends: [&#39;@commitlint/config-conventional&#39;] }; ``` #### 安装 CZ CLI ```bash npm install cz-customizable --save-dev ``` 更新 `package.json` 的 scripts 字段,增加交互式提交功能: ```json "scripts": { "prepare-commit-msg": "exec < /dev/tty && node_modules/.bin/cz --hook || true" }, "config": { "commitizen": { "path": "./node_modules/cz-customizable" } } ``` 最后设置 `husky` 使用该脚本来拦截标准输入框模式下的提交操作: ```bash npx husky add .husky/commit-msg &#39;npx --no-install commitlint --edit $1&#39; ``` --- ### 总结 完成以上步骤后,您的 Vite + Vue3 + TypeScript 项目即可具备强大的代码质量和版本控制能力。每一次提交都会经过严格检验,从而减少潜在错误的发生概率[^4]。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值