环境变量校验要按模块懒加载

**把所有环境变量都设成「启动/初始化时必填」,会让还没开发到的模块阻塞已经可用的功能:只是想登录,Auth 初始化却因为 AI key、对象存储、邮件配置不齐而报错。正解是按模块懒加载——用到哪个模块才校验那组变量。**

> 同理:校验还该按运行范围(Production / Preview / 开发)分别要求,本地只该校验它真正会用到的那一组。

症状

packages/shared/src/env.ts 全局校验 → 只做账号密码登录也要求 AI / R2 / Resend 配置齐全,否则启动即炸。

按模块拆

模块需要的变量
AuthDATABASE_URL、NEXTAUTH_SECRET、NEXTAUTH_URL、OAuth 相关
AI用到时才校验 AI key
文件上传用到时才校验对象存储(R2 等)
邮件用到时才校验 Resend

短期可先填占位值让流程不炸,长期把校验拆开,避免未开发模块阻塞。

相关