Reactjs 无法获取index.html Azure Linux Web应用程序
我们在Microsoft Azure中创建了一个Linux Web应用程序。应用程序是用React(html和Javascript)静态编写的。 我们将代码复制到wwwroot文件夹中,但应用程序仅显示hostingstart.html,当我们尝试获取page index.html时,出现以下错误:Reactjs 无法获取index.html Azure Linux Web应用程序,reactjs,azure,azure-web-app-service,Reactjs,Azure,Azure Web App Service,我们在Microsoft Azure中创建了一个Linux Web应用程序。应用程序是用React(html和Javascript)静态编写的。 我们将代码复制到wwwroot文件夹中,但应用程序仅显示hostingstart.html,当我们尝试获取page index.html时,出现以下错误: 无法获取/index.html 我们在GitHub()中尝试了一个Azure示例,但错误是相同的。 url如下所示: 上周应用程序运行正常 我们忘了做点什么?好的,你会喜欢的。这件事今天也发生在我身
无法获取/index.html
我们在GitHub()中尝试了一个Azure示例,但错误是相同的。
url如下所示:
上周应用程序运行正常
我们忘了做点什么?好的,你会喜欢的。这件事今天也发生在我身上。完全一样。 我敢肯定azure团队在某个地方扳动了开关,我们跌入了一条裂缝 我在没有投票的情况下找到了这个晦涩难懂的答案,它成功了(还有一点额外的欺骗) 奖金!这也解决了我的路由器问题,我只在部署的站点(非本地)上遇到了这些问题: 信用:@stormwild: 从@stormwild的帖子中可以看到: 步骤:
var express = require('express');
var server = express();
var options = {
index: 'index.html'
};
server.use('/', express.static('/home/site/wwwroot', options));
server.listen(process.env.PORT);
另一个解决方案是在index.html文件旁边添加一个名为ecoysystem.config.js的文件
module.exports = {
apps: [
{
script: "npx serve -s"
}
]
};
这将告诉pm2在应用程序服务启动时将所有请求关联到index.html
这里有非常有用的信息:2020年5月-您不必在任何地方添加任何javascript文件或配置文件。让我解释一下 我面临着完全相同的问题,浪费了6个小时尝试所有东西,包括这个问题最流行的答案。虽然接受的答案是一个很好的解决方法(但需要做的工作不仅仅是添加index.js文件),但还有比这更简单的方法 你看,当你仅仅部署一个Azure Web应用程序(也叫应用程序服务)时,会发生两件事:
pm2 serve /home/site/wwwroot --no-daemon
如果此web应用程序是客户端单页应用程序,并且您在路由方面遇到问题,请将--spa添加到上述命令中,如下所示:
pm2 serve /home/site/wwwroot --no-daemon --spa
这将告诉web应用程序为wwwroot文件夹提供服务。就这样
供参考的图像:
PS:如果只设置启动脚本而不部署代码,它仍然会显示hostingstart.html,因为默认情况下该文件位于wwwroot文件夹中。解决方法,我将webapp堆栈更改为PHP7
你能发布Azure认为你的文件结构是什么吗?@ScottCraig你是什么意思?在web应用程序中的/we下有:.mono、日志文件、站点。在“站点:部署、锁、wwwroot(包含index.html)”下,尝试将hostingstart.html重命名为old_hostingstart.html。然后,重新启动web应用程序。@RickRainey我试过了,但没有成功,总是显示hostingstart.html。Azure中的静态web应用程序似乎有所更改。谢谢!我解决了这个问题,但我需要在index.js、server.listen(process.env.port);)中添加端口;。我也在开始时做了“npm init”,在“npm install--save express”之后做了“npm start”。这种方法很有用,但我无法让pm2为盖茨比生成的所有目录和文件提供服务。盖茨比使用react SSR生成静态文件和文件夹。当使用pm2 serve/home/site/wwwroot时,SPA运行正常,但当导航(在应用程序内(非和SPA))到/dir/dir,然后点击返回按钮或刷新时,我会收到一个“对不起,请与站点管理员检查错误:EISDIR..”错误,因此它不会提供index.html以外的任何内容。如果我直接指向/dir/dir/index.html,这是可行的,我又回到了appUgh的“生态系统”,我离解决这个问题已经很近了!我正在运行.NET Core/ASP.NET Core,因此节点答案没有帮助。但至少我知道问题所在@上帝啊,你刚刚救了我一天。Thanks@phun-请尝试在startup命令的末尾添加--spa。我已经更新了我的答案。我也面临着这个问题。