环境变量
环境变量用于存储配置信息,如 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 中设置环境变量:
- 进入项目设置
- 选择 Environment variables
- 添加键值对
- 选择环境(Production / Preview)
区分环境
// 根据环境使用不同配置
const apiUrl = import.meta.env.PROD
? 'https://api.example.com'
: 'http://localhost:3000';最佳实践
- 不要提交
.env文件:已添加到.gitignore - 使用
PUBLIC_前缀:仅暴露必要信息 - 类型安全:在
env.d.ts中声明类型
// src/env.d.ts
interface ImportMetaEnv {
readonly API_KEY: string;
readonly PUBLIC_SITE_URL: string;
}
interface ImportMeta {
readonly env: ImportMetaEnv;
}安全
永远不要在客户端代码中暴露敏感信息(如数据库密码、API 密钥)。