告别代码混乱!JeecgBoot前端ESLint+Prettier规范配置指南

告别代码混乱!JeecgBoot前端ESLint+Prettier规范配置指南

【免费下载链接】jeecg-boot jeecgboot/jeecg-boot 是一个基于 Spring Boot 的 Java 框架,用于快速开发企业级应用。适合在 Java 应用开发中使用,提高开发效率和代码质量。特点是提供了丰富的组件库、模块化架构和自动化配置方式。 【免费下载链接】jeecg-boot 项目地址: https://gitcode.com/GitHub_Trending/je/jeecg-boot

你还在为团队代码风格不统一而头疼吗?还在手动格式化代码浪费时间吗?本文将带你一文掌握JeecgBoot前端项目的ESLint+Prettier配置方案,让代码自动变得规范整洁,从此告别格式化之争。读完本文你将学会:配置文件详解、自动化校验流程、常见问题解决以及如何集成到开发流程中。

规范配置文件解析

JeecgBoot前端项目采用ESLint进行代码质量检查,Prettier处理代码格式化,两者配合使用可以兼顾代码质量和风格统一。核心配置文件位于jeecgboot-vue3/目录下。

ESLint配置文件

.eslintrc.js是ESLint的核心配置文件,主要包含解析器设置、继承规则和自定义规则三部分:

module.exports = defineConfig({
  root: true,
  env: {
    browser: true,
    node: true,
    es6: true,
  },
  parser: 'vue-eslint-parser',
  parserOptions: {
    parser: '@typescript-eslint/parser',
    ecmaVersion: 2020,
    sourceType: 'module',
  },
  extends: [
    'plugin:vue/vue3-recommended',
    'plugin:@typescript-eslint/recommended',
    'prettier',
    'plugin:prettier/recommended',
  ],
  rules: {
    // 关闭prettier规则冲突
    'prettier/prettier': 'off',
    // 允许下划线开头的未使用变量
    '@typescript-eslint/no-unused-vars': [
      'error',
      {
        argsIgnorePattern: '^_',
        varsIgnorePattern: '^_',
      },
    ],
    // Vue模板自闭合标签规则
    'vue/html-self-closing': [
      'error',
      {
        html: {
          void: 'always',
          normal: 'any',
          component: 'any',
        },
      },
    ],
  },
});

配置要点说明:

  • 使用vue-eslint-parser解析Vue文件,@typescript-eslint/parser解析TypeScript代码
  • 继承了Vue3推荐规则、TypeScript推荐规则以及Prettier规则
  • 自定义了未使用变量忽略规则和HTML自闭合标签规则

Prettier配置文件

prettier.config.js定义了代码格式化规则:

module.exports = {
  printWidth: 150,         // 单行最大长度
  tabWidth: 2,             // 缩进空格数
  useTabs: false,          // 使用空格而非制表符
  semi: true,              // 语句末尾加分号
  singleQuote: true,       // 使用单引号
  trailingComma: 'es5',    // 尾随逗号规则
  bracketSpacing: true,    // 对象字面量括号间加空格
  arrowParens: 'always',   // 箭头函数参数始终带括号
  endOfLine: 'auto',       // 自动处理换行符
};

这个配置兼顾了代码可读性和团队协作效率,特别是printWidth: 150比默认值更大,适合展示较长的Vue模板代码。

依赖与脚本配置

开发依赖

package.json中定义了相关开发依赖:

{
  "devDependencies": {
    "@typescript-eslint/eslint-plugin": "^6.21.0",
    "@typescript-eslint/parser": "^6.21.0",
    "eslint": "^8.57.1",
    "eslint-config-prettier": "^9.1.0",
    "eslint-plugin-prettier": "^5.2.1",
    "eslint-plugin-vue": "^9.32.0",
    "prettier": "^3.4.2",
    "vue-eslint-parser": "^9.4.3"
  }
}

这些依赖提供了ESLint核心功能、TypeScript支持、Vue支持以及Prettier集成能力。

自动化脚本

package.json中提供了批量格式化脚本:

{
  "scripts": {
    "batch:prettier": "prettier --write  \"src/**/*.{js,json,tsx,css,less,scss,vue,html,md}\""
  }
}

执行npm run batch:prettier命令可以一键格式化项目中所有指定类型的文件,非常适合初次接入规范时使用。

配置使用流程

1. 安装依赖

# 克隆仓库
git clone https://gitcode.com/GitHub_Trending/je/jeecg-boot
cd jeecg-boot/jeecgboot-vue3

# 安装依赖
npm install

2. 代码检查与格式化

# 执行ESLint检查
npm run lint

# 执行Prettier格式化
npm run batch:prettier

3. 集成到开发工具

推荐在VSCode中安装以下插件:

  • ESLint
  • Prettier - Code formatter
  • Vetur 或 Vue Language Features (Volar)

并在设置中开启保存自动格式化:

{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  }
}

常见问题解决

规则冲突

ESLint和Prettier可能存在规则冲突,JeecgBoot通过以下配置解决:

// .eslintrc.js
extends: [
  // ...其他规则
  "prettier",           // 禁用所有与Prettier冲突的ESLint规则
  "plugin:prettier/recommended"  // 将Prettier错误作为ESLint错误展示
]

Vue模板格式化问题

如果Vue模板格式化不符合预期,检查.eslintrc.js中的Vue相关规则,特别是:

'vue/html-self-closing': [
  'error',
  {
    html: {
      void: 'always',       // 单标签元素始终自闭合
      normal: 'any',        // 普通元素允许任意形式
      component: 'any',     // 组件允许任意形式
    },
  },
]

性能优化

对于大型项目,ESLint检查可能较慢,可以通过创建.eslintignore文件排除不需要检查的目录:

node_modules/
dist/
public/

总结与展望

JeecgBoot前端项目通过ESLint+Prettier的组合,实现了代码质量和风格的自动化管理。这套配置方案考虑了Vue3+TypeScript项目的特点,兼顾了规范严谨性和开发灵活性。

随着项目发展,建议定期审查和更新这些配置,例如:

  • 根据团队习惯调整Prettier格式规则
  • 增加自定义ESLint规则以满足项目特定需求
  • 集成husky实现提交前自动检查

遵循统一的代码规范不仅能提升代码可读性,还能减少团队协作中的无意义争论,让开发者更专注于业务逻辑实现。立即行动起来,为你的项目接入这套规范配置吧!

点赞收藏本文,关注JeecgBoot项目获取更多前端开发最佳实践!

【免费下载链接】jeecg-boot jeecgboot/jeecg-boot 是一个基于 Spring Boot 的 Java 框架,用于快速开发企业级应用。适合在 Java 应用开发中使用,提高开发效率和代码质量。特点是提供了丰富的组件库、模块化架构和自动化配置方式。 【免费下载链接】jeecg-boot 项目地址: https://gitcode.com/GitHub_Trending/je/jeecg-boot

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值