如何在ShipThing中处理环境变量。
keys.ts
文件中定义环境变量,该文件导出一个 keys
对象,其中包含所有已验证的环境变量,分为 server
和 client
变量。
这些键随后被组合到应用程序根目录下的 env.ts
文件中。
.env.example
文件都会被复制到每个 Next.js 应用程序和一些包中的真实环境变量文件中。从这里开始,您可以自己填写变量。
app/.env.local
- App 应用的环境变量。web/.env.local
- Web 应用程序的环境变量。api/.env.local
- API 应用程序的环境变量。packages/database/.env
- 数据库包的环境变量。packages/internationalization/.env.local
- 国际化包的环境变量。NEXT_PUBLIC_APP_URL
、NEXT_PUBLIC_WEB_URL
和 NEXT_PUBLIC_API_URL
,您不需要在本地修改,当您部署时才应该替换成您各个应用的 URL。
*CLERK*
,本地应该使用测试环境的密钥,部署时应该使用生产环境的密钥。
keys.ts
文件都包含每个环境变量的验证规则。这些规则用于验证 .env.local
文件中的环境变量。您可以检查这些文件以查看每个变量的验证规则。
sec_
开头,则应将其验证为 z.string().min(1).startsWith('sec_')
。这不仅会使您的意图对阅读代码的人更清晰,而且还有助于防止运行时错误。SENTRY_
的环境变量会自动添加到 Vercel 项目中。此外,VERCEL_PROJECT_PRODUCTION_URL
是一个非常有用的环境变量,它指向该项目在 Vercel 上部署的“生产”URL。
VERCEL_PROJECT_PRODUCTION_URL
,当您部署到vercel时,它默认是您为该应用部署的域名.env.local
文件中keys.ts
文件中的 server
或 client
对象中。