React的Api代理和IIS配置

为了避免跨域问题,React的Package.json有个Api代理设置
"proxy": "http://localhost:36000/"

但这个命令只在本地运行npm start时有效,用npm run build打包发布到IIS上就无效,为什么会这样呢,我们分别看下两个命令的脚本

在start.js内有这样一段读取代理设置

// Load proxy config
const proxySetting = require(paths.appPackageJson).proxy;
const proxyConfig = prepareProxy(proxySetting, paths.appPublic);

但build.js内却没有任何地方读取代理设置
其实Package.json的Proxy只针对npm start使用的node服务器生效,所以发布到IIS需要在IIS上配置URL Rewrite。

IIS配置URL Rewrite步骤(在IIS配置URL Rewrite需要URL重写工具,若无则需要安装)
1.点击需要配置的网站,双击URL重写打开URL重写功能
2.点击右侧操作栏中“添加规则”,选择“入站规则”中的“空白规则”并确定
3.设置名称,匹配Url的规则和模式,以及需要的操作(如重写)。
4.设置完毕点击右侧操作栏中“应用”即可。

posted @ 2019-10-30 15:39  Scudfly  阅读(1220)  评论(0编辑  收藏  举报