为了不跨域问题,React的Package.json有个Api代理设置
"proxy": "http://localhost:36000/"
node
但这个命令只在本地运行npm start时有效,用npm run build打包发布到IIS上就无效,为何会这样呢,咱们分别看下两个命令的脚本npm
在start.js内有这样一段读取代理设置json
// 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.设置完毕点击右侧操做栏中“应用”便可。app