如何告诉 Prettier 忽略 package.json 文件?
Posted
技术标签:
【中文标题】如何告诉 Prettier 忽略 package.json 文件?【英文标题】:How can I tell Prettier to ignore a package.json file? 【发布时间】:2018-03-06 16:47:37 【问题描述】:我正在使用更漂亮的标准,因为该项目使用标准进行 linting。
按照prettier pre-commit hook example,我在提交时运行得更漂亮了。但是我想忽略 package.json 文件。我尝试将package.json
添加到 .prettierignore 文件中,但这不起作用。
我在 package.json 中使用的更漂亮的预提交挂钩示例中的代码
"scripts":
"precommit": "lint-staged"
,
"lint-staged":
"*.js,json,css": [
"prettier --write",
"git add"
]
```
【问题讨论】:
我刚刚从匹配中删除了 json,例如"*.js,css"
。由于它使用 minimatch,您可能可以包含一个否定匹配来排除 package.json
,但仍然包含其他 json 文件。
【参考方案1】:
您也可以使用.prettierignore
文件。
参考the prettier project itself。
【讨论】:
我错过了你问题中的那部分,抱歉。也许您在预提交挂钩中使用的工具没有考虑该文件。【参考方案2】:这里的限制是由于使用 lint-staged 的方式。 我个人最终使用了一个简单的命令(对我来说足够快),没有 lint-staged(但仍然使用 husky+precommit)。
prettier --write "**/*.js,json,css,md" !package.json
此命令在我的 package.json 中作为“格式”脚本。
"precommit": "yarn format", // can be "npm run format"
"format": "prettier --write \"**/*.js,json,css,md\" \"!package.json\""
请注意转义的引号。
【讨论】:
可以用单引号代替反斜杠,这样比较整洁。"format": "prettier --write '**/*.ts,md,json' '!package.json'"
以上是关于如何告诉 Prettier 忽略 package.json 文件?的主要内容,如果未能解决你的问题,请参考以下文章