从同一服务器上的localhost获取

时间:2017-07-17 07:08:39

标签: node.js server webserver fetch-api

我在同一台Linux服务器上运行前端(React)和后端(nodejs)。

在我的前端,我有一个fetch请求后端,我必须指定为fetch('http://10.25.248.238:3001/'),IP(本地因为此站点供内部公司使用)和端口后端。

有没有办法避免对这个后端IP地址进行硬编码,以便在前端和后端都移动到另一台服务器时仍能正常工作?

我尝试了http://localhost:3001,但实际上是尝试从网站访问者的本地主机获取。 fetch('/')也没有工作。

注册域名不合适,因为此网站仅供内部使用。

1 个答案:

答案 0 :(得分:2)

一个简单的解决方案是在Webpack设置中定义环境变量并将其传递给React应用程序。

您可以创建dev.webpack.config.js和prod.webpack.config.js,并在每个配置文件中使用webpack.DefinePlugin:

new webpack.DefinePlugin({
   BASE_URL: 'YOUR_SERVER_BASE_URL'
});

在您的React App中,您可以使用process.env.BASE_URL引用它们。例如:

let url = process.env.BASE_URL + '/user';