环境变量

环境变量用于存储配置信息,如 API 密钥、数据库连接等。

使用方式

在 Astro 中访问

// 服务端(构建时或 SSR)
const apiKey = import.meta.env.API_KEY;

// 客户端(需以 PUBLIC_ 开头)
const publicUrl = import.meta.env.PUBLIC_SITE_URL;

定义环境变量

创建 .env 文件:

# .env
API_KEY=your-secret-key
PUBLIC_SITE_URL=https://ardocs.example.com

变量类型

类型说明示例
PUBLIC_*客户端可访问PUBLIC_API_URL
其他仅服务端可访问DATABASE_URL

Cloudflare Pages 配置

在 Cloudflare Pages 中设置环境变量:

  1. 进入项目设置
  2. 选择 Environment variables
  3. 添加键值对
  4. 选择环境(Production / Preview)

区分环境

// 根据环境使用不同配置
const apiUrl = import.meta.env.PROD 
  ? 'https://api.example.com' 
  : 'http://localhost:3000';

最佳实践

  1. 不要提交 .env 文件:已添加到 .gitignore
  2. 使用 PUBLIC_ 前缀:仅暴露必要信息
  3. 类型安全:在 env.d.ts 中声明类型
// src/env.d.ts
interface ImportMetaEnv {
  readonly API_KEY: string;
  readonly PUBLIC_SITE_URL: string;
}

interface ImportMeta {
  readonly env: ImportMetaEnv;
}

安全

永远不要在客户端代码中暴露敏感信息(如数据库密码、API 密钥)。