Prettier
Prettier 是一款「有主见」的代码格式化工具,支持 JavaScript、TypeScript、JSX、CSS、SCSS、Less、HTML、Vue、Angular、GraphQL、Markdown、YAML 等众多语言。它解析代码后按统一规则重新输出,自动处理换行与缩进,让团队无需再为代码风格争论。
爱鲜报评分
0.0
0 人评分
开源 · MIT
#JavaScript
#TypeScript
#CLI
#前端工程化
#代码格式化
52k
星数
否
中文
JavaScript
主语言
是
活跃
862
贡献者
人工分析
EDITORIAL推荐理由
Prettier 是前端与全栈工程中事实上的代码格式化标准,52k+ Star 与海量周下载量说明其生态成熟度极高。接入编辑器保存即格式化、Git 提交钩子或 CI 检查都非常简单,能显著减少代码评审中的风格噪音。对任何使用 JS/TS 或现代前端框架的团队,几乎是必装的基础设施。
适用场景
- 前端项目统一代码风格
- CI 中检查代码格式是否一致
- Git pre-commit 钩子自动格式化
- 编辑器保存时自动格式化
- 多语言混合项目(JS/TS/CSS/HTML/Markdown/YAML)统一排版
优点
- 支持语言与文件类型极其丰富,覆盖主流前端技术栈
- 配置项少、开箱即用,团队无需反复讨论风格细节
- 与编辑器、Git 钩子、CI 集成方式成熟,接入成本低
- 社区活跃、文档完善,问题容易找到答案
- 可通过插件扩展支持更多语言
缺点
- 「有主见」意味着可定制空间有限,部分风格无法调整
- 对超长表达式或特殊语法的换行结果可能与预期不同
- 大仓库首次全量格式化会产生大量 diff,需要单独提交
- 与 ESLint 等工具存在职责重叠,需要额外配置协调
上手难度
入门
Prettier 是什么
Prettier 是一款「有主见」(opinionated)的代码格式化工具。它会解析你的源码,再按照自身规则重新打印,并在超出最大行宽时自动换行。你不需要再手动调整缩进、空格和换行。
一个直观例子
格式化前:
foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne());
格式化后:
foo(
reallyLongArg(),
omgSoManyParameters(),
IShouldRefactorThis(),
isThereSeriouslyAnotherOne(),
);
支持的语言
- 脚本类:JavaScript、TypeScript、Flow、JSX
- 样式类:CSS、SCSS、Less
- 标记类:HTML、Vue、Angular
- 数据与文档:JSON、GraphQL、Markdown、YAML
- 其他语言可通过官方插件机制扩展
常见使用方式
编辑器内保存即格式化
在 VS Code、JetBrains 等编辑器中安装 Prettier 插件,配置保存时自动格式化,写完代码即保持统一风格。
提交前自动格式化
配合 husky、lint-staged 等工具,在 Git 提交前对改动文件执行格式化,避免风格问题进入仓库。
CI 中检查格式
在持续集成中使用 CLI 的检查模式,若存在未格式化文件则让流水线失败,从流程上保证代码库风格一致。
# 示意:检查文件是否已按 Prettier 格式化
npx prettier --check .
适合谁用
- 使用 JavaScript / TypeScript 的前端与全栈团队
- 需要统一多语言文件排版规范的项目
- 希望减少代码评审中「空格、换行」类争论的工程团队
注意事项
Prettier 的设计哲学是「少配置」,因此部分风格细节无法自定义。若项目已有 ESLint 规则,建议明确分工:由 Prettier 负责排版,ESLint 负责代码质量,避免两者冲突。
评论
- 暂无评论,来写第一条吧。