我正在尝试在Windows Server 2022 Standard中的IIS中托管React应用程序。下面是我所做的步骤:
npm run build
-我在代码中执行此命令以获取构建文件夹。
1.接下来,我在C:\inetpub\wwwroot
中创建了一个文件夹exlibris
。wwwroot
文件夹已包含iisstart.html
和iisstart.png
。
1.然后我复制了exlibris
内部构建文件夹的所有内容。因此,exlibris应用程序的路径看起来像这样C:\inetpub\wwwroot\exlibris
。
1.使用Sites > Default Web Site
下的IIS管理器,我点击了Add Application
。选择以下值Alias: exlibris
、Physical Path: C:\inetpub\wwwroot\exlibris
。
1.然后当我去浏览器和类型在localhost/exlibris
什么也没有显示。在执行inspect
时,它显示在Elements
选项卡<noscript>You need to enable JavaScript to run this app.</noscript>
下。我已经在浏览器上启用了JavaScript。
尝试的选项
1.当我将构建文件夹的内容放在路径C:\inetpub\wwwroot\
而不是目录exlibris
时,应用程序将运行。
1.如果我把IIS iisstart.html
和iisstart.png
提供的默认页面放在路径C:\inetpub\wwwroot\exlibris
中,浏览器会在URL localhost/exlibris
上显示IIS登录页面,没有问题。
我是在IIS中部署React或任何JS应用程序的新手。如何解决这个问题的任何帮助将不胜感激.谢谢
1条答案
按热度按时间46qrfjad1#
我能够使用以下解决方案解决问题
在应用程序构建并放入路径
C:\inetpub\wwwroot\exlibris
之后,打开由npm run build
命令创建的index.html文件。它看起来有点像下面,并在所有static files
路径前面添加文件夹名称。例如,在我的案例中:<script defer="defer" src="/static/js/main.47b5a360.js">
需要更改为<script defer="defer" src="/exlibris/static/js/main.47b5a360.js">
。P.S:请对所有路径都这样做。我不知道如何在IIS中使用相对路径,所以我进入index.html
文件夹并更改为绝对路径。现在,当我执行localhost/exlibris
时,我的应用程序就会显示出来。