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

参考连接:
Nuxt3 - 文档/快速入门/配置
Nuxt3 - 文档/指南/目录结构/.env



下面是尝试过失败的方案

方案一:使用常规取值方式

process.env 对象中获取,例如:process.env.REDIS_HOST

在nuxt.config.ts文件中可以正常获取

在server文件夹下的plugins文件夹下且是生产环境时,就无法获取。

方案二:使用useRuntimeConfig

使用 useRuntimeConfig 组合函数访问运行时配置变量。

Nuxt3 官网教程

这种方式任然在生产环境不能使用。

方案三:使用dotenv获取

使用dotenv库,获取.env文件中的变量

同样在生产环境中无法获取到~~~~

总结&最终解决方案:

官方文档需要仔细读,用心读,否则会错过很多重要的东西


代码:

生产环境log:

经过测试以下代码能够正常获取到 .env 文件中的值



另外再给一个方案:

如果你使用的是docker部署你的项目,那么在使用 docker-compose.yml 编排你的容器时,可以在该项目中添加环境配置,增加后可以在 process.env 中获取到。

代码

生产环境log:

posted @ 2024-07-19 12:24  未来的羁绊  阅读(477)  评论(0编辑  收藏  举报