news 2026/9/23 0:00:40

Prettier 配置文件 .prettierrc.js 和 .prettierrc.json 的区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Prettier 配置文件 .prettierrc.js 和 .prettierrc.json 的区别

.prettierrc.js 和 .prettierrc.json的区别

.prettierrc.js.prettierrc.json都是 Prettier 的配置文件,主要区别在于格式和灵活性。


1..prettierrc.json(JSON 格式)

json

{ "printWidth": 80, "tabWidth": 2, "useTabs": false, "semi": true }
  • 优点

    • 语法严格,不易出错

    • 可被其他工具轻松解析

    • 支持 JSON Schema 验证

  • 缺点

    • 不支持注释

    • 不能使用动态配置


2..prettierrc.js(JavaScript 格式)

javascript

module.exports = { printWidth: 80, tabWidth: 2, useTabs: false, semi: true, // 可以添加注释 overrides: [ { files: "*.md", options: { printWidth: 60 } } ] }
  • 优点

    • 支持注释,方便解释配置

    • 支持动态配置(条件逻辑、函数等)

    • 支持 ES modulesexport default

    • ✅ 可以引用环境变量或其他配置

  • 缺点

    • 需要 Node.js 环境来解析

    • 可能执行恶意代码(安全性考虑)


主要差异对比

特性.prettierrc.json.prettierrc.js
注释❌ 不支持✅ 支持
动态配置❌ 不支持✅ 支持
环境变量❌ 不支持✅ 支持
条件逻辑❌ 不支持✅ 支持
导入其他配置❌ 不支持✅ 支持
工具兼容性✅ 更好❌ 需要 Node.js
安全性✅ 更安全❌ 可能执行代码

使用场景建议

选择.prettierrc.json当:

  • 配置简单,不需要注释

  • 希望配置文件能被多种工具读取

  • 注重安全性和稳定性

  • 项目不依赖 Node.js 环境


选择.prettierrc.js当:

  • 配置复杂,需要注释说明

  • 需要条件配置(不同环境不同格式)

  • 需要动态生成配置

  • 想继承或合并其他配置

  • 项目本身就是 Node.js 项目


示例:.prettierrc.js 的高级用法

javascript

// 根据环境变量调整配置 const isProduction = process.env.NODE_ENV === 'production'; module.exports = { printWidth: isProduction ? 80 : 100, // 根据文件类型覆盖配置 overrides: [ { files: '*.test.js', options: { printWidth: 120 } } ], // 从其他文件导入配置 ...require('./shared-prettier-config'), // 使用函数生成配置 trailingComma: (() => { // 复杂的逻辑判断 return 'es5'; })() };

其他格式选项

Prettier 还支持:

  • .prettierrc.yaml/.prettierrc.yml- YAML 格式,支持注释

  • prettier.config.js- 另一种 JS 配置文件名

  • package.json中的prettier字段


总结推荐

  • 大多数项目:.prettierrc.json(简单直观)

  • 复杂项目/团队项目:.prettierrc.js(注释和灵活性更重要)

  • 个人项目:按喜好选择,JS 格式更灵活

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/23 15:09:33

摆脱局域网束缚,Flowise 让 AI 工作流协作更自由

文章目录1. Docker安装Flowise2. Ubuntu安装Cpolar3. 配置Flowise公网地址4. 远程访问Flowise5. 固定Cpolar公网地址6. 固定地址访问前言: Flowise 主要用于快速搭建和管理 AI 工作流,支持通过可视化界面组合不同的 LLM 模型、数据处理节点,…

作者头像 李华
网站建设 2026/9/22 6:16:34

搭建个人私有云盘?Nextcloud 让数据管理更自由,搭配cpolar远程访问无压力!

【精选优质专栏推荐】 《AI 技术前沿》 —— 紧跟 AI 最新趋势与应用《网络安全新手快速入门(附漏洞挖掘案例)》 —— 零基础安全入门必看《BurpSuite 入门教程(附实战图文)》 —— 渗透测试必备工具详解《网安渗透工具使用教程(全)》 —— 一站式工具手册《CTF 新手入门实战教…

作者头像 李华
网站建设 2026/9/22 10:06:26

VIADO 工程下tcl的瘦身和恢复

一:注意瘦身建议都在源文件夹内完成1:删除elf和coe这些外部文件,后期自己导入即可2:复位源工程3:工程导出tcl4:在源文件夹只保留如下两个文件,其余全部删除5:将4步骤的两个瘦身文件拷…

作者头像 李华
网站建设 2026/9/23 10:28:45

5分钟打造专属Windows状态栏:YASB让你的桌面焕然一新

5分钟打造专属Windows状态栏:YASB让你的桌面焕然一新 【免费下载链接】yasb A highly configurable Windows status bar written in Python. 项目地址: https://gitcode.com/gh_mirrors/yas/yasb 还在为Windows自带的任务栏功能单一而烦恼吗?想要…

作者头像 李华
网站建设 2026/9/23 4:32:47

足球与几何——传球网络

原文:towardsdatascience.com/football-and-geometry-passing-networks-6e201ceff6ef 足球分析 通过分析拜仁勒沃库森的传球网络来理解网络 https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/8d063485f91bf0f6a0afd4217bd61947…

作者头像 李华
网站建设 2026/9/23 11:11:58

德国太阳能发电预测:使用 Prophet 的实用方法

原文:towardsdatascience.com/forecasting-germanys-solar-energy-production-a-practical-approach-with-prophet-717aa23ecd58 https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/c398271c4fd19855589a8ada35ab0fcd.png 图片来…

作者头像 李华