如何正确地将React SPA应用程序托管为IIS应用程序?

时间:2018-11-07 19:42:26

标签: reactjs iis react-router

我有一个通过Create React App创建的React应用程序,我需要将它作为IIS默认网站上的应用程序托管在IIS上。

我的react应用程序正在使用react-router 4,它是BrowserRouter进行客户端导航,但是不能正常工作。

示例应用代码-https://github.com/mandrive/react-router-iis-problem

在IIS上,我将应用托管在URL:http://localhost/myapp下(这是IIS端口80上的默认网站,而myapp是IIS应用程序)

我需要在像IIS Application这样的多个不同服务器上托管这样的应用程序,而无需为package.json homepageBrowserRouter basename指定特定于环境的值-因此它应该在没有在CI上构建之前/之后对源代码进行的特定于环境的更改。

我知道IIS重写-我的操作与此处https://medium.com/@mateioprea/setting-up-a-react-app-with-react-router-in-iis-71cb86aee376

所述完全相同

我要使其正常工作的唯一方法是,当我指定package.json "homepage": "./"<BrowserRouter basename="myapp">时(我不想这样做),因为那样我就需要替换我要部署此应用的每个不同环境的值。

这可能吗?无需在IIS上进行此类特定于环境的更改,是否可以托管React SPA?

0 个答案:

没有答案