reactjs - 在 IIS 10 上创建反应应用程序
问题描述
我在网上搜索了有关如何在 Microsoft 的 IIS 上部署 React 应用程序的解决方案。
我已经成功地部署了多个 Node.JS 应用程序,但 React 没有这样的运气。
我试过的:
安装的 URL 重写
我跑了:
npm i -g create-react-app
我创建了一个基本的反应应用程序:
create-react-app my-app
我创建了一个名为路由
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>
- 然后我跑了
npm run build
- 在 IIS 中,我添加了一个
new website
with Application Pool:DefaultAppPool
,链接到./build
文件夹目录的路径。 - 我跑浏览到应用程序
- 我得到一个
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
解决方案
我刚试过这个,它奏效了:
创建反应应用程序
纱线(或 npm)构建
- 打开 IIS 管理器并创建一个新网站
- 将它指向新创建的反应项目中的构建文件夹
- 创建一个新的应用程序池
- 右键单击应用程序池并在进程模型下找到身份,单击三个点
- 选择自定义并输入您的 Windows 凭据。
如果这不起作用,您可能需要启用对文件的读/写访问权限,因此右键单击网站并选择编辑权限
转到安全并点击编辑,选择经过身份验证的用户,然后在对话框底部检查适用的修改/完全控制/读/写框。对应在组或用户名部分下列出的 Windows 用户执行相同操作。点击应用/保存。
右键单击该网站,然后转到管理网站,然后浏览。
繁荣。
推荐阅读
- postgresql - Hasura:查询在postgres中创建的自定义复合类型的一个字段
- solidity - 气体估算失败
- r - 将日期更改为数字
- python - Flask-session TypeError:“NoneType”和“datetime.datetime”的实例之间不支持“<=”
- postgresql - CREATE MATERIALIZED VIEW 不适用于 macOS Mojave
- google-cloud-platform - Google Cloud Tasks 执行后会自行删除吗?
- javascript - 用于导出的 jQuery DataTables 格式输出,排除按钮
- node.js - 使用 promise 等待 http post 结束
- regex - python / ansible中的正则表达式
- excel - Boto3 获取所有具有 ebs 卷 id 的 ec2 实例的列表,大小为 excel