React项目修改package.json的proxy配置后仍指向旧地址如何解决
React package.json修改proxy后仍代理到旧地址解决方案
- 优先重启开发服务器
Create React App 启动时才会读取package.json中的proxy配置,修改配置后必须完全关闭当前运行的开发服务(一般按Ctrl+C终止终端进程),再重新执行npm start或yarn start启动项目,新配置才会生效,这是该问题90%以上的诱因。 - 清除开发缓存后重启
如果重启后问题仍然存在,是开发缓存残留旧配置导致,执行以下操作:
- 停止开发服务器
- 删除项目
node_modules目录下的.cache文件夹,Mac/Linux可直接执行命令:rm -rf node_modules/.cache,Windows可手动删除对应目录或执行命令:rmdir /s /q node_modules\.cache - 重新启动开发服务器
- 检查自定义代理配置优先级
如果项目src目录下存在setupProxy.js自定义代理配置文件,package.json中的proxy字段会被自动忽略,所有代理规则以该文件内的配置为准,你需要修改setupProxy.js中对应的代理目标地址才可生效。 - 可选:强制更新依赖配置
如果上述操作都无效,可以删除node_modules文件夹和package-lock.json(或yarn.lock)文件,重新执行npm install或yarn install安装依赖后再启动项目。
补充注意:你当前配置的proxy值末尾带
/api后缀,代理后你的请求/posts/dp/upload会被转发到https://social-firegram.herokuapp.com/api/posts/dp/upload,如果你的后端接口路径不需要额外拼接/api前缀,需要把proxy值修改为https://social-firegram.herokuapp.com即可。
内容的提问来源于stack exchange,提问作者Saimur Rahman
相关产品推荐
相关产品推荐

