如何为js捆绑应用程序提供配置?

时间:2018-06-05 12:52:49

标签: javascript angular reactjs architecture web-deployment

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

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

1 个答案:

答案 0 :(得分:0)

浏览器无法访问环境变量,甚至环境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",
}