告别代码混乱!JeecgBoot前端ESLint+Prettier规范配置指南
你还在为团队代码风格不统一而头疼吗?还在手动格式化代码浪费时间吗?本文将带你一文掌握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项目获取更多前端开发最佳实践!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



