我有一个通过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
homepage
或BrowserRouter
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?