首页 > 解决方案 > 在 IIS 10 上创建反应应用程序

问题描述

我在网上搜索了有关如何在 Microsoft 的 IIS 上部署 React 应用程序的解决方案。

我已经成功地部署了多个 Node.JS 应用程序,但 React 没有这样的运气。

我试过的:

  1. 安装的 URL 重写

  2. 我跑了:npm i -g create-react-app

  3. 我创建了一个基本的反应应用程序:create-react-app my-app

  4. 我创建了一个名为路由web.config的文件./public

网络配置

<?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>
  1. 然后我跑了npm run build
  2. 在 IIS 中,我添加了一个new websitewith Application Pool: DefaultAppPool,链接到./build文件夹目录的路径。
  3. 我跑浏览到应用程序
  4. 我得到一个Site can't be reached错误。

还有其他人尝试在 IIS 上部署吗?

我还尝试了以下资源: - https://github.com/react-boilerplate/react-boilerplate/issues/711 - https://www.quora.com/How-can-one-host-ReactJS-在 IIS 中 - https://hackernoon.com/adding-web-config-to-react-projects-3eb762dbe01f

标签: reactjsiis

解决方案


我刚试过这个,它奏效了:

创建反应应用程序

纱线(或 npm)构建

  • 打开 IIS 管理器并创建一个新网站
  • 将它指向新创建的反应项目中的构建文件夹
  • 创建一个新的应用程序池
  • 右键单击应用程序池并在进程模型下找到身份,单击三个点
  • 选择自定义并输入您的 Windows 凭据。

如果这不起作用,您可能需要启用对文件的读/写访问权限,因此右键单击网站并选择编辑权限

  • 转到安全并点击编辑,选择经过身份验证的用户,然后在对话框底部检查适用的修改/完全控制/读/写框。对应在组或用户名部分下列出的 Windows 用户执行相同操作。点击应用/保存。

  • 右键单击该网站,然后转到管理网站,然后浏览。

繁荣。


推荐阅读