reactjs - React process.env 无法读取 docker-compose.yml 中的环境变量
问题描述
我的 React 项目使用环境变量和 docker-compose.yml 中的变量。但无法从项目中读取它们。
码头工人-compose.yml
version: '3.4'
services:
frontend:
build:
context: .
target: app
environment:
- API_PROTOCOL=http
- API_HOST=localhost
- API_PORT=10000
volumes:
- app-volume:/share
command: cp -R ./build /share
...
/* Ngnix Setting */
...
volumes:
app-volume:
api.js
export const API_PROTOCOL = process.env.API_PROTOCOL || 'http';
export const API_HOST = process.env.API_HOST || 'localhost';
export const API_PORT = process.env.API_PORT || '8080';
export const getAPIUrl = () => {
return `${API_PROTOCOL}://${API_HOST}:${API_PORT}`
};
我使用console.log(getAPIUrl());
.
但它显示如下默认值。
输出
http://localhost:8080
解决方案
您必须创建以 . 开头的自定义环境变量REACT_APP_
。除了 NODE_ENV 之外的任何其他变量都将被忽略,以避免意外暴露可能具有相同名称的机器上的私钥。更改任何环境变量都需要您重新启动正在运行的开发服务器。
推荐阅读
- c++ - C++ 中的直接 VS 复制初始化
- laravel - Twitter 身份验证问题
- flutter - 在颤振中执行firebase时,ios设备上出现错误
- excel - 如何使用 Excel 获取要与列映射的行值?
- alfresco - AcquireJobsRunnableImpl 引发 PSQLException:SSL 错误:readHandshakeRecord
- reactjs - 是否有一种反应方法可以以自定义模式将数组中的项目动态添加到 div
- javascript - 使用嵌套数组遍历对象数组以确定所需的结果
- c# - 如何将自定义动画添加到 ContextMenuStrip?
- python - AttributeError:“张量”对象在加载 keras 模型时没有属性“numpy”
- javascript - Jquery Ajax 在本地机器上工作而不是在服务器上