为什么使用 envdiff
- 逻辑比较。比较键和值而不是文本行——顺序、注释和空行都不影响结果。
- 四种格式。
.env、JSON、TOML 和 ini;嵌套的 JSON/TOML 键会变成db.host这样的路径。 - 隐藏密钥。可选择将 password、token、secret、key 等键的值显示为
[REDACTED]。 - 仅在浏览器中。没有 API:文件不会离开你的设备。状态可通过 URL 片段分享。
如何比较配置
- 选择格式——两侧共用。
- 在每个面板中粘贴文本或上传文件;两侧都必填。
- 点击“比较”,查看仅在左侧、仅在右侧以及值不同的键。
- 需要时开启隐藏,并点击“分享”复制带状态的链接。
键、格式与密钥
envdiff 比较的是键而不是行。格式不会混用:嵌套的 JSON 和 TOML 会展开为点分路径,ini 的节变为 section.key,.env 按 KEY=VALUE 读取。
提示:
- 注释、空行和键的顺序都会被忽略。
- 数组按索引展开,例如
servers[0].host。 - 值按文本比较:JSON 中的数字
5432与 .env 中的5432相同。 - 隐藏只影响显示:password、token、secret、key 等键会显示为 [REDACTED]。
- YAML 请用
yamaster,查找泄露的密钥请用secret-scanner。
适用场景
- 比较 dev、staging 和 production 之间的 .env;
- 检查部署前后的配置;
- 找出某个环境中缺失的键;
- 查看 JSON、TOML 或 ini 的改动而不被文本 diff 干扰;
- 通过链接分享比较结果(不要包含真实密钥)。
常见问题
可以比较不同格式吗?
不可以。两侧只能选择同一种格式,不支持混用。
注释和顺序重要吗?
不重要。只比较键和值。
我的数据会被上传吗?
不会。解析和比较都在浏览器中完成,没有 API。
隐藏功能做什么?
password、secret、token、key 等键的值显示为 [REDACTED];比较本身仍使用真实值。
嵌套键如何显示?
对象和表使用点号,数组使用索引,例如 db.host 或 servers[0]。