以前用nginx,但是nginx在windows上太别扭了,试着迁移到IIS。
1. 首先准备一个已经创建好的react项目。打开它的package.json,添加 homepage。
不太懂原理,大概是之后发布在IIS上的文件夹吧。好用就得了┓( ´∀` )┏。
2. 在public 文件夹下创建一个web.config,放入以下内容。
```
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="pipei" patternSyntax="Wildcard">
<match url="*.*" negate="true" />
<action type="Rewrite" url="/testreact/index.html" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
```
注:1 上面的testreact 要跟第一步中homepage 值保持一致 2 不要问我原理我也不知道代码来自网络感谢好心人宗旨还是那个好用就成
具体可以看这里: https://blog.csdn.net/weixin_37861326/article/details/106374195
3. 如果使用了BrowserRouter 记得要设置basename,否则跳转页面会有问题。
4. npm run build 打包
5. 接下来是IIS的设置部分。
IIS上add site,起名也叫testreact(或许可以叫别的吧,没尝试,但跟homepage的值保持一致肯定是最保险的)
创建好了,把第四步打好的build包copy到上图的physical path下,将build 包的名字也改成testreact
点击Browse Website,测试。齐活儿。