要仅对要提交的文件(Git Staging Area中的文件)运行Prettier,您可以使用lint-staged
库与husky
库结合使用。lint-staged
允许您运行脚本并将其仅限制在Git暂存的文件上,而husky
则可以让您方便地在各种Git钩子上运行命令,比如pre-commit
钩子。
下面是如何配置这一流程的步骤:
步骤 1:安装Prettier、husky和lint-staged
如果你尚未安装Prettier,在项目中安装Prettier:
shnpm install --save-dev prettier
接着安装husky
和lint-staged
:
shnpm install --save-dev husky lint-staged
步骤 2:配置package.json
在package.json
文件中添加husky
和lint-staged
的配置。下面是一个基本示例:
json{ // ...你的其他配置 "scripts": { // ...你的其他脚本 "prepare": "husky install" }, "lint-staged": { "*.{js,jsx,ts,tsx,json,css,scss,md}": [ "prettier --write" ] }, "husky": { "hooks": { "pre-commit": "lint-staged" } } }
在这个配置中:
lint-staged
指定了一个匹配模式(在这里是一组文件扩展名),以及对这些文件要运行的命令(这里是prettier --write
)。husky
的pre-commit
钩子被设置为在提交前运行lint-staged
。
步骤 3:激活husky
运行以下命令以设置Git钩子:
shnpx husky install
当你运行git commit
时,pre-commit
钩子将被触发,并运行lint-staged
,它将执行prettier --write
命令来格式化所有暂存的文件。
注意
- 当你第一次设置husky时,请确保执行
npm run prepare
或npx husky install
,以便创建必要的钩子脚本。 - 如果你使用的是husky 5或更高版本,配置方式可能有所不同,请参考最新的husky文档。
以上步骤应该能够帮助你只对Git暂存区中的文件运行Prettier,在提交之前自动格式化代码。
2024年6月29日 12:07 回复