IIS 10上的create-react-app

时间:2018-08-13 13:42:08

标签: reactjs iis

我在网上搜索了有关如何在Microsoft IIS上部署React App的解决方案的信息。

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

我尝试过的事情:

  1. 已安装URL Rewrite

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

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

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

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>
  1. 然后我跑了npm run build
  2. 在IIS中,我添加了new website和应用程序池: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-in-IIS -https://hackernoon.com/adding-web-config-to-react-projects-3eb762dbe01f

1 个答案:

答案 0 :(得分:6)

我只是尝试了一下,并且有效:

create-react-app myapp

纱线(或npm)构建

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

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

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

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

景气。