我正在尝试在IIS中托管React应用程序

thigvfpy  于 2023-10-19  发布在  React
关注(0)|答案(1)|浏览(129)

我正在尝试在Windows Server 2022 Standard中的IIS中托管React应用程序。下面是我所做的步骤:

  1. npm run build-我在代码中执行此命令以获取构建文件夹。
    1.接下来,我在C:\inetpub\wwwroot中创建了一个文件夹exlibriswwwroot文件夹已包含iisstart.htmliisstart.png
    1.然后我复制了exlibris内部构建文件夹的所有内容。因此,exlibris应用程序的路径看起来像这样C:\inetpub\wwwroot\exlibris
    1.使用Sites > Default Web Site下的IIS管理器,我点击了Add Application。选择以下值Alias: exlibrisPhysical 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.htmliisstart.png提供的默认页面放在路径C:\inetpub\wwwroot\exlibris中,浏览器会在URL localhost/exlibris上显示IIS登录页面,没有问题。
我是在IIS中部署React或任何JS应用程序的新手。如何解决这个问题的任何帮助将不胜感激.谢谢

46qrfjad

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时,我的应用程序就会显示出来。

相关问题