Skip to content
This repository has been archived by the owner on Feb 10, 2025. It is now read-only.

Docker 中构建 .env 未被正确读取导致 VITE_GLOB_API_URL 失效 #717

Closed
Bisstocuz opened this issue Mar 20, 2023 · 9 comments
Closed

Comments

@Bisstocuz
Copy link

我使用 docker-compose 部署挂了一层 nginx 代理,在从 v2.10.0 往上升级遇到了路由匹配问题。发现前端请求的路由路径从 /api/session 变成了 /session,我要如何处理?

@Bisstocuz
Copy link
Author

手动打包没有这个问题,直接使用 Github 构建上传 docker hub 的镜像有这个问题。

@Smile-L
Copy link

Smile-L commented Mar 20, 2023

我也遇到这个现象。
我发现直接用railway部署,前端请求的路径就是/session而不是/api/session,但是程序能正常执行。
我不太懂前端,看代码'/api'似乎是src/utils/request/axios.ts 里面添加的
const service = axios.create({ baseURL: import.meta.env.VITE_GLOB_API_URL, })
到不懂为什么打docker/或者部署到railway之后这个/api就消失了

@Smile-L
Copy link

Smile-L commented Mar 20, 2023

在vite.config.js里面加了行日志,发现打docker的时候,VITE_的环境变量没有正常读进来,viteEnv是空字典。
我不太会设置vite,就直接把所有VITE相关的变量强制赋值,不要从viteEnv读取了,然后/session 就变成了/api/session,程序就通了

@Bisstocuz
Copy link
Author

Bisstocuz commented Mar 21, 2023

在vite.config.js里面加了行日志,发现打docker的时候,VITE_的环境变量没有正常读进来,viteEnv是空字典。 我不太会设置vite,就直接把所有VITE相关的变量强制赋值,不要从viteEnv读取了,然后/session 就变成了/api/session,程序就通了

我把代码仓库克隆到本地然后手动打包把 dist 文件复制到 dockerfile 里打包也是可以的。

#725 这似乎也是个相关的 issue

@zaiMoe
Copy link
Contributor

zaiMoe commented Mar 21, 2023

应该是同样的问题,在 docker 编译的时候,.env 文件没有被读取,直接改代码
#690

@Fzuim
Copy link

Fzuim commented Mar 21, 2023

ngxin在挂一个/session的路径不就行了,转到/api/session

@Bisstocuz Bisstocuz changed the title 前端不请求 /api/session 转而直接请求 /session Docker 中构建 .env 未被正确读取导致 VITE_GLOB_API_URL 失效 Mar 21, 2023
@BruceHan98
Copy link

进入docker容器发现service/.env文件没有被拷贝到容器内,所以无法加载配置,不知道哪里的bug。

@BruceHan98
Copy link

进入docker容器发现service/.env文件没有被拷贝到容器内,所以无法加载配置,不知道哪里的bug。

找到原因了,.dockerignore 文件把 .* 文件屏蔽了,所以没有拷贝过去。

@Bisstocuz
Copy link
Author

手动解决方案:

  1. 移除 .dockerignore 文件中的 .* 并重新构建 Docker 镜像。
  2. 克隆项目到本地手动构建打包并输出 dist/ 目录。

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants