核心概念

配置说明

环境变量、Feature Flags 和配置管理

本页解释模板里的配置体系和环境变量约定;如果你需要查看配置常量和导出,继续看 @01mvp/config 参考

环境变量

环境变量文件位于 apps/01mvp-web/.env.local(从 .env.example 复制并修改)。

复制示例文件

cp apps/01mvp-web/.env.example apps/01mvp-web/.env.local

填写必填变量

  • DATABASE_URL -- PostgreSQL 数据库连接字符串
  • BETTER_AUTH_SECRET -- 认证签名密钥(生成方式:openssl rand -base64 32
  • NEXT_PUBLIC_SITE_URL -- 站点公开地址(开发:http://localhost:7001,生产:https://your-domain.com

按需添加可选变量

根据启用的功能配置:

  • S3 兼容存储:NEXT_PUBLIC_BUCKET_NAMENEXT_PUBLIC_S3_ENDPOINT
  • OAuth 社交登录:GITHUB_CLIENT_ID/SECRETGOOGLE_CLIENT_ID/SECRET
  • 微信登录:WECHAT_APP_IDWECHAT_APP_SECRET

安全提示

.env.local 已在 .gitignore 中,不要将包含密钥的文件提交到 Git。生产环境通过部署平台的环境变量面板管理。

修改环境变量后需要重启 pnpm dev 才会生效,Next.js 不会热加载环境变量的变化。另外,只有以 NEXT_PUBLIC_ 开头的变量才会暴露给浏览器端代码。

Feature Flags

功能开关集中管理在 packages/config/src/index.ts

  • i18n -- 国际化启用、默认语言、支持语言列表
  • auth -- 是否启用邮箱/手机号/社交登录
  • organizations -- 组织功能开关
  • payments -- Stripe 和微信支付开关

修改对应字段后重启开发服务器生效。