首页 > 解决方案 > 如何为 js 捆绑应用提供配置?

问题描述

当我构建一个后端应用程序时,我只能构建一个包,对其进行签名并在许多不同的环境中部署相同的包:生产、uat、dev 等。它将从环境或命令中读取 db url、密码和所有其他配置选项线。

应该如何使用 js 应用程序(例如反应或角度)来完成?我的前端应该为生产和 uat 使用不同的后端。这样做的行业标准是什么?多次构建包,每个环境一次?还是有更好的方法?

标签: javascriptangularreactjsarchitectureweb-deployment

解决方案


浏览器无法访问环境变量,即使环境 URL 不同。当然,您可以将这些变量放在负载均衡器层的某个位置,并根据传入的 URL 返回具有特定配置的 JS,但这不是一种常见的解决方案。

我建议根据环境进行构建。最简单的方法是配置作业,例如:

"scripts": {
  "build": "sh -ac '. .env.${REACT_APP_ENV}; react-scripts build'",
  "build:staging": "REACT_APP_ENV=staging npm run build",
  "build:production": "REACT_APP_ENV=production npm run build",
}

推荐阅读