如何使用生产环境.env.production变量运行next dev开发服务器?
在Next.js中用next dev加载生产环境变量(.env.production.local)
要实现用next dev加载生产环境的.env.production.local变量,直接修改package.json的脚本即可,以下是两种实用方案:
方案一:通过NODE_ENV指定生产环境模式
给next dev设置NODE_ENV=production环境变量,让Next.js按照生产环境规则加载变量:
"scripts": { "dev": "next dev", "dev:prod": "NODE_ENV=production next dev" }
执行npm run dev:prod或yarn dev:prod后,Next.js会优先读取.env.production.local,其次是.env.production,最后是.env.local(若存在)。
方案二:直接指定环境变量文件(Next.js 13.4+推荐)
Next.js 13.4及以上版本支持--env-file参数,可精准指定要加载的.env文件,无需修改NODE_ENV,保留开发服务器热重载等特性:
"scripts": { "dev": "next dev", "dev:prod": "next dev --env-file .env.production.local" }
这种方式更灵活,完全覆盖默认的环境变量加载逻辑,确保只使用指定的生产环境配置。
注意事项
- 需要暴露给客户端的变量,记得加上
NEXT_PUBLIC_前缀,Next.js在dev模式下会正确处理这类变量。 - 确保
.env.production.local文件位于项目根目录,格式遵循KEY=VALUE单行规则,注释用#开头。 - 若同时存在
.env.production文件,.env.production.local里的同名变量会覆盖通用生产文件中的值,符合Next.js的变量优先级规则。
内容的提问来源于stack exchange,提问作者GorvGoyl
相关产品推荐
相关产品推荐

