三层配置
如果你发现自己在改组件源代码来修改文案,停下——
你应该改的是
messages/{en,zh}.json。
siteConfig 控制什么
整个文件大约 250 行。下面是几个关键字段:
siteConfig 之外
这些有自己的家——这是有意为之的。
添加一个新功能开关
-
加到
siteConfig.features: -
在代码里使用:
添加一个 env 变量
- 在
src/env.ts加一个 Zod 校验项(密钥放 server section;带NEXT_PUBLIC_前缀、可安全发到浏览器的放 client section)。 - 如果是 public 变量,还要加到
experimental__runtimeEnv(Next.js 要求)。 - 在环境变量参考里写一笔说明。
- 用
import { env } from '@/env'读取——不要直接process.env.X。
最佳实践清单
- ✅ 品牌改动只动
siteConfig和messages/,不改组件源码。 - ✅ 密钥只在
.env.local。.env.example描述结构;真正的.env.local已被 gitignore。 - ✅ 切换 provider(Stripe → Creem)时,改
siteConfig.payment.provider并设对应的*_PRICE_*env。代码其他地方不需要关心当前是哪个 provider。 - ✅
messages/en.json与messages/zh.json永远 key 对齐。node scripts/check-i18n.mjs会强制校验。