最新Eslint9+prettier+Husky暂存区配置(基于Vue)

前言:Eslint是一种代码质量检查工具,确保代码符合相应规范,prettier是一个代码格式化工具,总而言之,Eslint查错,prettier改错。Husky是一个Git Hooks工具,在把代码提交给仓库时自动触发前两个工具,确保每次提交给仓库的代码都符合项目标准。

接下来我们就基于创建Vue项目时配置这三个工具。

1.首先创建一个Vue3项目

1.1 下载pnpm 包管理器

复制代码
npm install -g pnpm

1.2 创建Vue3项目,直接贴图

2.正式配置Eslint9+prettier+Husky

2.1 配置设置文件

找到设置文件settings.json

配置环境:

下载包:

css 复制代码
pnpm i -D eslint-plugin-vue eslint-plugin-prettier
arduino 复制代码
pnpm i -D prettier eslint-config-prettier
bash 复制代码
pnpm i -D @eslint/js @eslint/eslintrc

然后在eslint.config.js中导入包,代码如下:

javascript 复制代码
import eslintConfigPrettier from '@vue/eslint-config-prettier' //添加这一行代码
import eslintPluginPrettier from 'eslint-plugin-prettier/recommended'

如图所示:

接着在defineConfig里面添加rules和刚刚下好的包配置,代码如下:

arduino 复制代码
   eslintConfigPrettier, //添加这一行代码
  eslintPluginPrettier, // 解决 prettier 和 eslint 的冲突,比如 eslint 里面是 开启 双引号,prettier 里面开启单引号
  {
    rules: {
      'prettier/prettier': [
        'warn',
        {
          singleQuote: true, // 单引号
          semi: false, // 无分号
          printWidth: 100, // 每行宽度至多80字符
          trailingComma: 'none', // 不加对象|数组最后逗号
          endOfLine: 'auto' // 换行符号不限制(win mac 不一致)
        }
      ],
      'vue/multi-word-component-names': [
        'warn',
        {
          ignores: ['index'] // vue组件名称多单词组成(忽略index.vue)
        }
      ],
      'vue/no-setup-props-destructure': ['off'], // 关闭 props 解构的校验
      // 💡 添加未定义变量错误提示,create-vue@3.6.3 关闭,这里加上是为了支持下一个章节演示。
      'no-undef': 'error'
    }
  },

如图所示:

然后配置Husky,先在终端里初始化仓库

csharp 复制代码
git init

初始化Husky 工具配置

csharp 复制代码
pnpm dlx husky-init && pnpm install

lint-staged 配置

css 复制代码
pnpm i -D lint-staged

配置 package.json

修改 .husky/pre-commit 文件

复制代码
pnpm lint-staged

如图所示:

综上,你就配置完了最新的eslint9+prettier+Husky!! 补:这里只开启了eslint插件,关闭了perttier插件

相关推荐
高晶8 小时前
Android 文件管理器开发实战指南
程序员·代码规范
9 小时前
正则少一个 re.MULTILINE,我的安全闸门全程空转——而我以为修好了
后端·代码规范
咖啡八杯10 小时前
异常体系设计:三类策略(i18n code、message、受检异常)
java·架构·代码规范
浮链序1 天前
Shopify 把 10 亿商品开放给任意 agent 了:我用零依赖 Python 撸了个带预算闸门的代购网关
后端·代码规范
这个DBA有点耶2 天前
ELT 工具选型完整指南:从 ETL 差异分析到工程落地
数据库·架构·代码规范
这个DBA有点耶2 天前
分布式事务深度:TCC空回滚、悬挂与Saga补偿风暴的根因与解法
数据库·mysql·代码规范
这个DBA有点耶4 天前
为什么UPDATE比SELECT危险得多?锁范围等于扫描行数
数据库·架构·代码规范
沈麽鬼4 天前
纸上代码
代码规范
深圳老胡6 天前
STM32CubeMX 生成 CMake 工程,用 VSCode 编译与调试的完整流程
笔记·stm32·单片机·代码规范
星星泡饭吃6 天前
【信息安全】越权防护设计评审指南
代码规范