AX 爱鲜报

Prettier

Prettier 是一款「有主见」的代码格式化工具,支持 JavaScript、TypeScript、JSX、CSS、SCSS、Less、HTML、Vue、Angular、GraphQL、Markdown、YAML 等众多语言。它解析代码后按统一规则重新输出,自动处理换行与缩进,让团队无需再为代码风格争论。

爱鲜报评分

0.0

0 人评分

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 负责代码质量,避免两者冲突。

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。