Nuxt3构建后useRuntimeConfig()变量为空,求排查解决
Nuxt3构建后public配置变量为空的解决方法
构建阶段未正确加载环境变量:
Nuxt3的runtimeConfig.public变量会在构建时注入到客户端代码中,如果构建过程中没读取到.env文件里的NUXT_PUBLIC_CHAT_SERVER,就会保留你设置的空字符串默认值。- 确保构建时
.env文件在项目根目录,且未被构建工具忽略(比如CI/CD环境中不要遗漏该文件,或手动注入环境变量)。 - 可以直接在构建命令前指定环境变量,避免依赖
.env文件:NUXT_PUBLIC_CHAT_SERVER=http://localhost:6001 npm run build
- 确保构建时
显式绑定环境变量:
在nuxt.config.ts中显式引用环境变量,确保构建时能正确获取值,替代自动映射的方式:// nuxt.config.ts export default defineNuxtConfig({ // ... runtimeConfig: { public: { chatServer: process.env.NUXT_PUBLIC_CHAT_SERVER || '' } }, // ... })检查生产运行环境:
若使用服务端渲染模式运行生产版本,确保启动node .output/server/index.mjs时,当前目录存在.env文件(虽然public变量理论上构建时已注入,但服务端读取useRuntimeConfig()时会再次检查环境变量,避免意外问题)。
内容的提问来源于stack exchange,提问作者stealz
相关产品推荐
相关产品推荐

