【发布时间】:2020-02-17 06:00:57
【问题描述】:
我希望在 React 应用最终构建中不向最终用户显示密钥和机密。我找到了建议在 docker 的环境变量文件中保密的方法。
以下是到目前为止不起作用的代码。 REACT_APP_SOME_API 在 React 中不可访问,我也不确定是否使用此方法,秘密将在我不想要的最终构建中可见。
React 中的 Package.json:-
"scripts": {
"start": "rm -rf dist && webpack-dev-server --mode development --open --hot --port 8090",
"docker": "rm -rf dist && webpack --mode production && make docker-run",
"docker-push": "rm -rf dist && webpack --mode production && make docker-push --"
},
生成文件:-
docker:
docker build -t app .
docker-run: docker
docker run -it --env-file ./config.env -p "80:80" app
docker-push: TAG ?= latest
docker-push: docker
docker tag $(NAME) $(DOCKER_REPO):$(TAG)
docker push $(DOCKER_REPO):$(TAG)
config.env:-
REACT_APP_SOME_API=This-should-be-accessible-in-react-app
React 应用中的 App.js:-
return(
<>{process.env.REACT_APP_SOME_API}< />//This outputs undefined if console.log
);
【问题讨论】:
标签: javascript reactjs docker environment-variables secret-key