JavaScript缩进统一用2个空格、禁用Tab字符;Prettier通过tabWidth: 2和useTabs: false实现,需禁用ESLint的indent规则并配置eslint-config-prettier协同工作。

JavaScript代码缩进统一用2个空格,禁用Tab字符;Prettier默认即符合该规范,只需关闭与其他格式化工具(如ESLint的indent规则)的冲突即可。
缩进规范的核心要求
前端团队协作中,缩进必须保持一致,否则会引发合并冲突、可读性下降和Git diff混乱。主流规范(如Airbnb、Standard)均推荐2空格缩进,原因包括:
- 视觉上比4空格更紧凑,长嵌套结构不易换行
- 与HTML、CSS常用缩进习惯对齐,降低跨语言切换成本
- Prettier、VS Code默认、Babel解析器均原生适配2空格
- Tab字符因编辑器显示宽度不一致,易导致“看起来对齐、实际错位”问题
Prettier基础配置要点
在项目根目录添加.prettierrc文件,明确声明缩进行为:
{
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": true,
"trailingComma": "es5",
"bracketSpacing": true
}
关键说明:
立即学习“Java免费学习笔记(深入)”;
- tabWidth: 2:定义缩进为2个空格(即使代码中误用了Tab,Prettier也会自动转为空格)
- useTabs: false:强制禁用Tab,避免混用
- 无需手动写
indent规则——Prettier没有该配置项,它通过tabWidth和useTabs协同控制缩进
与ESLint共存时的关键处理
若项目已启用ESLint,需禁用其与Prettier重叠的缩进校验,否则保存时会反复触发格式冲突:
- 安装插件:
eslint-config-prettier(关闭所有格式化类规则) - 在.eslintrc.js的
extends末尾加入'prettier' - 确保
eslint-plugin-prettier作为插件启用,并将prettier/prettier设为error级 - 删除ESLint中显式的
indent规则(如"indent": ["error", 2]),交由Prettier全权处理
编辑器与工作流建议
让规范真正落地,需打通本地开发体验:
- VS Code中安装Prettier扩展,设置
"editor.formatOnSave": true,并指定"editor.defaultFormatter": "esbenp.prettier-vscode" - 在.editorconfig中补充统一基础项:
indent_style = space、indent_size = 2,为不支持Prettier的场景兜底 - 提交前加Git Hook(如Husky + lint-staged),自动格式化暂存区JS文件,杜绝未格式化代码入库
- 团队共享一份.prettierrc和.editorconfig,放入项目模板或CLI脚手架










