You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React.js中如何将本地运行主机从localhost改为指定IP?

React项目修改运行IP及代理配置解决方案

问题分析

你修改React项目运行地址时出现Error: getaddrinfo ENOTFOUND http://127.0.0.1错误,核心原因是HOST环境变量不能带http://前缀——系统会把整个http://127.0.0.1当作主机名去解析,自然找不到对应地址。另外代理配置无效可能是配置方式不对。

解决步骤

1. 修正运行IP配置

  • Linux/macOS系统:修改package.json的scripts字段,去掉HOST值里的http://,直接写IP:

    "scripts": {
      "start": "HOST=127.0.0.1 react-scripts start",
      "build": "react-scripts build",
      "test": "react-scripts test",
      "eject": "react-scripts eject"
    },
    

    如果需要用局域网IP(比如后端在同一局域网的其他设备),直接替换成对应IP即可,比如HOST=192.168.3.10。

  • Windows系统:需要用set命令设置环境变量,格式如下:

    "scripts": {
      "start": "set HOST=127.0.0.1 && react-scripts start",
      "build": "react-scripts build",
      "test": "react-scripts test",
      "eject": "react-scripts eject"
    },
    

2. 正确配置API代理

如果是用create-react-app创建的项目,代理配置分两种情况:

简单代理(单后端地址)

直接在package.json末尾添加proxy字段,值为后端API的基础地址(带http://和端口):

"proxy": "http://127.0.0.1:5000"

这样前端发起的/api/users这类请求会自动转发到http://127.0.0.1:5000/api/users。

复杂代理(多后端地址/自定义路径)

如果需要更灵活的代理规则,比如不同路径转发到不同后端,需要安装http-proxy-middleware:

npm install http-proxy-middleware --save-dev

然后在项目src目录下创建setupProxy.js文件,添加如下配置(示例):

const { createProxyMiddleware } = require('http-proxy-middleware');

module.exports = function(app) {
  app.use(
    '/api',
    createProxyMiddleware({
      target: 'http://127.0.0.1:5000',
      changeOrigin: true,
    })
  );
  // 可以添加更多代理规则
  app.use(
    '/external-api',
    createProxyMiddleware({
      target: 'http://other-server:8080',
      changeOrigin: true,
      pathRewrite: { '^/external-api': '' } // 重写路径
    })
  );
};

3. 验证修改

保存配置后,重启React开发服务器,控制台会输出类似Local: http://127.0.0.1:3000的地址,说明IP修改成功。同时测试API请求,确认代理是否正常转发。

内容的提问来源于stack exchange,提问作者Asit Purohit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 18:45:50