Nuxt3项目中,在生产环境中,无法获取到 .env 文件的变量,怎么破?
当前环境
Nuxt3版本:3.11.2
Vue3版本:3.4.27
Docker版本:Docker version 26.1.1, build 4cf5afa
Docker-compose版本:Docker Compose version v2.27.0-desktop.2
下面是尝试过失败的方案
方案一:使用常规取值方式
从
process.env
对象中获取,例如:process.env.REDIS_HOST
在nuxt.config.ts文件中可以正常获取
在server文件夹下的plugins文件夹下且是生产环境时,就无法获取。
方案二:使用useRuntimeConfig
使用 useRuntimeConfig 组合函数访问运行时配置变量。
这种方式任然在生产环境不能使用。
方案三:使用dotenv
获取
使用dotenv库,获取.env文件中的变量
同样在生产环境中无法获取到~~~~
总结&最终解决方案:
官方文档需要仔细读,用心读,否则会错过很多重要的东西
代码:
生产环境log:
经过测试以下代码能够正常获取到 .env
文件中的值
另外再给一个方案:
如果你使用的是docker部署你的项目,那么在使用 docker-compose.yml
编排你的容器时,可以在该项目中添加环境配置,增加后可以在 process.env
中获取到。
代码
生产环境log:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报