AZ Tools

.env 文件解析器

文件

一个在浏览器中运行的健壮 `.env` 文件解析器,处理所有真实世界的细节:单引号 vs 双引号(转义序列仅在双引号内解析)、用于 RSA 私钥等的多行值、值后的 `# 行内注释`、`export FOO=bar` 前缀、空值。解析后,可按你的下一个环境所需格式导出 — 测试用 JSON、Kubernetes/Helm 用 YAML、shell 脚本用 `export` 行、Dockerfile 用 `ENV` 指令、Netlify 环境上下文用 TOML 块。

.env 文件内容
解析条目 (10 条)
行内注释
DATABASE_URL
postgres://user:pass@localhost:5432/mydb
DB_POOL_SIZE
10
APP_NAME
My App
APP_VERSION
1.0.0
APP_DEBUG
true
OAUTH_PRIVATE_KEY
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAxYz...
-----END RSA PRIVATE KEY-----
ROOT_DIR
/opt/app
LOG_DIR
${ROOT_DIR}/logs
EMPTY
PORT
3000
default port
导出格式:
输出
{
  "DATABASE_URL": "postgres://user:pass@localhost:5432/mydb",
  "DB_POOL_SIZE": "10",
  "APP_NAME": "My App",
  "APP_VERSION": "1.0.0",
  "APP_DEBUG": "true",
  "OAUTH_PRIVATE_KEY": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAxYz...\n-----END RSA PRIVATE KEY-----",
  "ROOT_DIR": "/opt/app",
  "LOG_DIR": "${ROOT_DIR}/logs",
  "EMPTY": "",
  "PORT": "3000"
}

变量展开(${VAR})按字面保留 — 不解析。如需,请在运行时添加展开器。

使用方法

  1. 粘贴你的 `.env` 文件(或加载示例查看所有支持的语法)。
  2. 查看解析出的键/值/注释表。
  3. 选择导出格式并复制。多行值会保留(YAML 用 `|`,Docker 用 JSON 转义字符串)。

常见问题

单引号和双引号的区别?
双引号内,`\n`、`\t`、`\"` 等转义序列会被解析。单引号内为字面值 — 因此 `FOO='line1\nline2'` 保留反斜杠-n。这与 npm 的 `dotenv`、Python 的 `python-dotenv` 标准行为一致。
会展开 `${VAR}` 引用吗?
不会 — 变量展开取决于具体的 dotenv 实现,我们希望解析输出忠实表示文件内容。如需展开,导入后使用 `dotenv-expand` 等工具。
数据会被发送到哪里吗?
不会。解析完全在浏览器内进行。`.env` 内容不会离开设备。

相关工具