如何在IIS Web服务器中托管React应用程序?

问题描述

如何在IIS Web服务器上托管reactjs应用?

我使用了npm run build并将文件替换到服务器中,并创建了引用这些文件的新站点。

我也使用*符号将所有IP绑定到端口80。 但没有用。

解决方法

运行以下命令后,输出将在包含生产版本的项目中创建一个名为“ build”的新文件夹。我们可以通过将这些文件复制到IIS网站的根目录来托管该项目,该网站的根文件夹应该可以由匿名帐户正确访问,因此,如果不是,则应该授予IUSR帐户对该文件夹的完全访问权限默认网站。 enter image description here
enter image description here
在IIS绑定模块中添加网站绑定后,
enter image description here
我们可以使用下面的地址正确地访问网站。

http://localhost

此外,如果我们在react应用程序中添加某些路由功能(多个组件),则必须安装IIS URL Rewrite扩展。
https://www.iis.net/downloads/microsoft/url-rewrite
成功安装后,我们需要在IIS网站的根目录下创建一个包含以下内容的web.config文件。

<?xml version="1.0"?>
<configuration>
 <system.webServer>
 <rewrite>
 <rules>
 <rule name="React Routes" stopProcessing="true">
 <match url=".*" />
 <conditions logicalGrouping="MatchAll">
 <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
 <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
 <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
 </conditions>
 <action type="Rewrite" url="/" />
 </rule>
 </rules>
 </rewrite>
 </system.webServer>
</configuration>

请随时让我知道问题是否仍然存在。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...