nextjs 环境变量规则
为什么客户端变量必须以 NEXT_PUBLIC_ 开头?
因为 Next.js 只有显式标记为公开的变量才会在构建时注入到浏览器代码里,避免把服务器机密(如数据库密码)泄露到前端。NEXT_PUBLIC_ 就是“可公开”的白名单前缀。
env 规定总结
文件命名(自动识别):
.env.env.local.env.development/.env.production/.env.test- 对应的
.local版本:
.env.development.local/.env.production.local/.env.test.local
优先级(高覆盖低):
.env.{mode}.local > .env.{mode} > .env.local > .env
变量前缀:
NEXT_PUBLIC_*:客户端 + 服务端都可用- 其他:仅服务端可用
读取方式:
- 统一使用
process.env.XXX
