
Prettier 不识别的文件扩展名怎么指定 parser用 overrides 给 .prettierrc 配置 json 解析器【免费下载链接】prettierPrettier is an opinionated code formatter.项目地址: https://gitcode.com/gh_mirrors/pr/prettierPrettier 默认根据输入文件的扩展名自动推断该用哪个 parser但像.prettierrc这种没有扩展名的配置文件不在它的识别范围内直接执行prettier .prettierrc --write时 Prettier 不知道该按什么语法解析它。解决方式是在项目的.prettierrc里用overrides规则显式指定parser: json让 Prettier 知道如何解析它无法自动识别的文件。本文基于 Prettier 官方文档configuration.md、options.md、cli.md给出配置步骤与验证命令。为什么扩展名推断会失效parser选项用于指定使用哪个 parser。Prettier 会自动从输入文件路径推断 parser文档明确说明Combined withoverridesyou can teach Prettier how to parse files it does not recognize结合overrides可以教 Prettier 解析它不认识的文件.prettierrc就是文档给出的典型例子。可用的 parser 值在 options.md 中有完整列表与本文相关的几个jsonvia babel/parser parseExpressionjson5与json相同的 parser但按 json5 输出jsonc与json相同的 parser但输出为 JSON with Comments在 .prettierrc 中配置 overridesPrettier 的配置可以通过多种方式提供按优先级package.json中的prettier键、JSON 或 YAML 格式的.prettierrc文件以及.prettierrc.json、.prettierrc.yml等带扩展名的变体。配置文件从被格式化文件的位置向上搜索文件系统树来解析且 Prettier 不支持任何全局配置。官方文档给出的正是让 Prettier 格式化自己的.prettierrc文件的示例配置{ overrides: [ { files: [.prettierrc], options: { parser: json } } ] }如果.prettierrc写的是 YAML 而不是 JSON对应写法为overrides: - files: - .prettierrc options: parser: jsonfiles字段对每条 override 是必需的可以是字符串或字符串数组还可以选填excludeFiles来排除特定文件同样支持字符串或字符串数组。files支持 glob 模式例如文档中的其他示例*.test.js、*.html、legacy/**/*.js因此你可以根据项目里实际的文件名模式调整这条规则。关键限制不要把parser写在配置文件的顶层只能放在overrides内部。文档用粗体强调这一点顶层写parser会直接禁用 Prettier 基于扩展名的自动推断强制所有类型的文件都使用你指定的 parser——比如把 CSS 文件当 JavaScript 解析。验证配置是否生效先在目标文件上检查格式不实际修改文件prettier .prettierrc --check--check或-c会输出人类可读的信息和未格式化文件列表。全部文件符合 Prettier 风格时输出文档示例Checking formatting... All matched files use Prettier code style!存在需要重排的文件时输出形如文档示例Checking formatting... [warn] src/fileA.js [warn] Code style issues found in 2 files. Run Prettier with --write to fix.退出码可用来做判断0表示全部格式化正确1表示存在未正确格式化的文件2表示 Prettier 本身出错。如果在没有 overrides 配置时对.prettierrc运行检查得到的是 exit code2Prettier 无法处理该文件加上 overrides 后命令能正常进入格式检查流程说明 parser 指定已生效。确认无误后再原地写回注意--write会覆盖文件prettier .prettierrc --write备选与边界情况只想跳过无法识别的文件如果目标不是按 json 解析这个文件而是遇到 Prettier 不认识的文件直接略过CLI 提供--ignore-unknown或-u匹配到的未知文件会被忽略prettier **/* --write --ignore-unknown注意 glob 要加引号让 Prettier CLI 而不是 shell 展开通配符这在跨平台使用时很重要。配置文件不在默认查找位置时可以用prettier --find-config-path path/to/file.js一次性找到配置文件路径输出形如path/to/.prettierrc再显式传给--configprettier path/to/file.js --write --config path/to/.prettierrc不想保留 overrides也可以把需要固定解析方式的文件直接写成.prettierrc.json这类带扩展名的配置变体Prettier 能按扩展名自动识别无需额外配置。overrides 只影响files匹配到的文件其余文件仍走扩展名推断配置生效后.prettierrc会按 json 语法解析和输出。若你的 JSON 需要支持注释或尾部逗号按 options.md 的说明把parser: json换成json5或jsonc即可。【免费下载链接】prettierPrettier is an opinionated code formatter.项目地址: https://gitcode.com/gh_mirrors/pr/prettier创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考