gpt4 book ai didi

reactjs - 无法获取index.html Azure Linux Web应用程序

转载 作者:行者123 更新时间:2023-12-03 13:25:59 25 4
gpt4 key购买 nike

我们在 Microsoft Azure 中创建了一个 Linux Web 应用程序。该应用程序是用 React(html 和 Javascript)静态编写的。我们将代码复制到 wwwroot 文件夹中,但应用程序仅显示hostingstart.html,当我们尝试获取页面index.html 时,出现此错误:无法获取/index.html

我们尝试使用 GitHub 中的 Azure 示例 ( https://github.com/Azure-Samples/html-docs-hello-world ),但错误是相同的。网址是这样的:https://consoleadmin.azurewebsites.net/index.html

上周应用程序运行正常。

我们忘记做某事?

最佳答案

2020 年 5 月 - 您无需在任何地方添加任何 JavaScript 文件或配置文件。让我解释一下。

我面临着这个完全相同的问题,并浪费了 6 个小时尝试一切,包括这个问题的最受欢迎的答案。虽然接受的答案是一个很好的解决方法(但需要更多的工作,而不仅仅是添加 index.js 文件),但还有比这更简单的方法。

您会发现,当您刚刚部署 Azure Web 应用程序(或也称为应用程序服务)时,会发生两件事:

  1. Web 应用程序默认指向 opt/startup/hostingstart.html

  2. 它还会在 home/site/wwwroot 中放置 Hostingstart.html

当您部署代码时,它会替换 home/site/wwwroot 中的hostingstart.html,但应用程序仍指向 opt/startup/hostingstart.html。如果您想验证这一点,请尝试删除 opt/startup/hostingstart.html 文件,您的网络应用程序将抛出“CANNOT GET/”错误。

那么如何更改默认指针呢?它比看起来更简单:

转到 Web 应用程序上的“配置”选项卡,并将以下代码添加到启动脚本中:

pm2 serve /home/site/wwwroot --no-daemon

如果此 Web 应用程序是客户端单页应用程序,并且您遇到路由问题,则将 --spa 添加到上述命令,如下所示:

pm2 serve /home/site/wwwroot --no-daemon --spa

这将告诉 Web 应用程序提供 wwwroot 文件夹。就是这样。

引用图片: Screenshot explaination

PS:如果您只设置启动脚本而不部署代码,它仍然会显示hostingstart.html,因为默认情况下该文件位于wwwroot文件夹中。

关于reactjs - 无法获取index.html Azure Linux Web应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54236862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com