Bun 环境变量 #

概述 #

Bun 原生支持 .env 文件,自动加载环境变量。

自动加载 #

bash
# .env
DATABASE_URL=postgres://localhost:5432/mydb
API_KEY=secret123
DEBUG=true
typescript
// 自动加载
console.log(process.env.DATABASE_URL);
console.log(Bun.env.API_KEY);

指定环境文件 #

bash
# 使用特定环境文件
bun --env-file=.env.production run server.ts

# 使用多个文件
bun --env-file=.env.local --env-file=.env run server.ts

Bun.env vs process.env #

typescript
// Bun.env - Bun 原生
console.log(Bun.env.NODE_ENV);

// process.env - Node.js 兼容
console.log(process.env.NODE_ENV);

// 两者指向同一对象
console.log(Bun.env === process.env);  // true

类型安全访问 #

typescript
// 必需变量
function getEnv(key: string): string {
  const value = Bun.env[key];
  if (!value) {
    throw new Error(`Missing environment variable: ${key}`);
  }
  return value;
}

const dbUrl = getEnv("DATABASE_URL");

下一步 #

现在你已经了解了 Bun 环境变量,继续学习其他高级特性。

最后更新:2026-03-29