在你的项目中要确保的另一件事是,你的代码是根据集中的配置自动格式化的。通常情况下,团队中的每个开发人员都有稍微不同的偏好,这完全没有问题,尽管它可能导致或大或小的问题。
顺便说一下,Prettier的创建是为了停止所有关于哪种格式化更好的讨论。它的格式化风格是长期争论的结果,因为它是为了在所有开发者的要求之间做出妥协。
其中一个问题肯定是拉/合并请求中的混乱。突然间,可能会发现我们 "修改 "了很多行代码,而这些代码的数量超过了原先与新功能或修复有关的变化。只是我们的格式化器 "以自己的方式 "对代码进行了排序。
当然,这并没有改变应用程序的功能,但它确实带来了不必要的混乱。进行代码审查的人不会立即清楚他们需要检查代码的哪些部分。
为了在项目层面引入标准化的代码格式,我们将使用Prettier。
因此,让我们继续讨论它的安装本身。与ESlint不同,这个工具并没有内置于CRA中,但就像所有的NPM包一样,安装非常简单,只需以下命令即可。
npm install --save-dev prettier
然后,我们将配置我们的格式化器。要做到这一点,我们将使用两个文件:包含配置的.prettierrc.json和.prettierignore,在这里我们可以列出Prettier应该跳过的文件和文件夹(这个文件的工作方式与.gitignore相同)。
{
.prettierrc.json配置样本
用于React的.prettierignore配置样本
如果你将 Prettier添加到一个现有的项目中,注意你第一次使用它时,它可能会格式化项目中的大部分文件。因此,最好立即在一个专门的提交中这样做。
只要记得通知整个团队需要下载最新版本的代码就可以了。否则,你将面临新配置的代码与项目的过期版本之间的冲突。
和linter一样,我们可以通过两种方式启动Prettier 。
- 通过package.json中的一个脚本,我们用npm run prettier来运行。
{
我们还需要调整ESLint的配置,加入我们也将在项目中使用Prettier的信息。否则,这两个系统可能会发生冲突。
要做到这一点,你必须首先用命令安装Prettier专用的ESLint配置。
npm install --save-dev eslint-config-prettier
然后你把它添加到.eslintrc文件的 "extends "部分。把它加到最后一项非常重要,因为它必须覆盖前一组规则中的一些条目。
{