关于node.js:根据环境设置更改应用程序的配置:生产与开发

change the configuration of an application based on environment setting: Production vs Development

我正在Google App Engine(灵活的环境)上使用React和Node。

我希望能够基于以下环境设置更改应用程序的配置:生产与开发。

在开发中,我具有以下设置:
我使用localhost:5050在浏览器中运行我的react应用程序,并在localhost:8080上运行node应用程序
在package.json中,我使用Proxy:
" proxy":" http:// localhost:8080"
API请求使用本地URL:" localhost:8080 / something"

在生产环境中,我具有以下设置:
无需代理;
API URL为:" https://www.example.com/something"

如何确保在本地主机中启动应用程序时,我的API请求将使用本地域,并且将使用代理?
有没有一种方法可以通过package.json或通过其他一些选项进行配置?


您需要使用.env文件来指定您的API URL。

如果您使用的是CRA,请参见以下问题的答案:运行create-react-app构建脚本时如何设置build .env变量?

如果您使用的是webpack,请参阅本教程:在React

中使用环境变量

P.S。 package.json中的代理功能并不像本答案中提到的那样用于生产,因为它只是一种开发功能。