首页 > 解决方案 > 如何让 React 应用程序的 npm run build 包含我的环境变量?

问题描述

我正在尝试部署我的应用程序以供公众查看,但我坚持执行此步骤。作为序言,我使用 docker 将我的 React 应用程序容器化,并通过 docker run 的 --env-file 选项传入我的变量。当我使用 CMD ["npm", "start"] 运行应用程序时,这很好用,但是当我尝试更改 dockerfile 以进行生产时,该站点是可访问的,但依赖于环境变量的站点部分失败.

这是我使用的 docker 文件:

FROM node:latest as build-stage
WORKDIR /app
ADD . .
RUN npm install
RUN npm run build

FROM nginx:latest
COPY --from=build-stage /app/build /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

我不确定问题是否出在 nginx 上,或者我只是误解了 React 中的构建过程以及如何将环境变量注入其中。

标签: node.jsreactjsdockernginx

解决方案


推荐阅读