Azure静态Web应用程序未正确加载页面资源。Css或javascript文件 [英] Azure static web apps not loading page resources correctly. css or javascript files

查看:10
本文介绍了Azure静态Web应用程序未正确加载页面资源。Css或javascript文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

更新3

很抱歉我将此更新放在这里,但我做了一个很好的发现。请阅读下面标题下的原始问题,以回顾我所做的工作。

在下面的所有相关内容之后,我意识到缓存发生了一些问题。然而,我也注意到,在不同的计算机上,该错误仍然存在。在尝试了一下URL之后,我发现这个

https://yellow-hill-0ce1f0e10-4.centralus.azurestaticapps.net/contacto

和这个

https://yellow-hill-0ce1f0e10-4.centralus.azurestaticapps.net/contacto/

加载不同的网站。唯一的区别是尾部的斜杠。

当我从Visual Studio代码本地运行时,本地服务器会自动添加斜杠;Azure Static Web应用程序不会

原始问题

我正在制作一个基于Azure静态Web应用程序的简单网站。我使用了此指南https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurestaticwebapps

我想创建一个新页面,所以我将需要的文件复制到一个新的Conacto文件夹中。并做出所有的改变。然后成功部署。

但是,部署的文件不是我修改的文件,而是原始文件,就好像没有检测到任何更改一样(如果它需要检测更改)。举个例子。我在GitHub中有此样式.css文件

 body {
     font-family: ff-dagny-web-pro, sans-serif;
     font-weight: 300;
     font-style: normal;
 }

 .nopadding {
     padding: 0 !important;
 }

 .btn-primary {
     color: #383835;
     background-color: #ffd225;
     border-color: #ffd225;
 }

 .btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open>.dropdown-toggle.btn-primary {
     color: #383835;
     background-color: #ffd225;
     border-color: #ffd225;
     /*set the color you want here*/
 }


 ul.nav li a, ul.nav li a:visited {
     color: #3C3C3A !important;
 }

 ul.nav li a:hover, ul.nav li a:active {
     color: #3C3C3A !important;
 }

 ul.nav li.active a {
     color: #3C3C3A !important;
 }

 .hide{
     display:none;
 }

但当我加载发布站点时,文件明显不同。如你所见。

 body {
     font-family: ff-dagny-web-pro, sans-serif;
     font-weight: 300;
     font-style: normal;
 }

 .table td, .table th {
     vertical-align: middle;
 }

 .table {
     margin: 0;
 }

 .table tr td img {
     width: 100%;
 }

 .table tr td {
     border: none;
 }

 .nopadding {
     padding: 0 !important;
 }

 .geoGradient {
     background: rgb(206, 217, 183);
     background: linear-gradient(141deg, rgba(206, 217, 183, 1) 0%, rgba(185, 202, 150, 1) 100%);
 }

 ul.nav li a, ul.nav li a:visited {
     color: #3C3C3A !important;
 }

 ul.nav li a:hover, ul.nav li a:active {
     color: #3C3C3A !important;
 }

 ul.nav li.active a {
     color: #3C3C3A !important;
 }
几周前,当我更新内部页面中的图像时,我也遇到了类似的情况,当我在已发布的站点上冲浪时,它们都没有加载,GitHub在存储库和操作中显示了正确的文件,但它们似乎不在服务器中。我更改了所有文件的名称,这解决了问题。听起来很荒谬。我已尝试更改文件夹名称,但在此不起作用。

我遗漏了什么?如何获取GitHub操作以在提交中部署文件?

更新%1

由于YML文件与此问题无关,因此已将其删除。

更新2

此更新无关紧要,因此我删除了它,因此现在问题更清楚了。

推荐答案

该问题最初被认为是giHub未部署某些文件,包括某个时刻的一些图像文件,但该问题与giHub无关,而是与Azure静态应用程序已知的问题有关。

结果是,指向文件夹时,Azure Static Web应用服务器在URL末尾不包含斜杠。

出现问题的原因是,如果没有尾部斜杠,则不会将html文件中的所有相对引用理解为位于当前文件夹中,而是位于父文件夹中。

www.contoso.com/contact

指向联系人文件夹中的index.html文件,但该文件中的所有相对引用都指向根级别。

www.contoso.com/contact/ (see the slash) 

指向联系人文件夹中的index.html文件,该文件中的所有相对引用都按预期工作。

在Azure静态Web应用程序GitHub中有一个问题值得投票https://github.com/Azure/static-web-apps/issues/42

解决方案 现在您有两个解决办法:

  1. 确保所有指向内部页面的链接都带有尾部斜杠。

在我的例子中,当我遇到图像问题时,更改名称不是解决方案。不知怎么的,我不小心在链接中加入了尾随的斜杠。

  1. 在所有对资源的引用中使用绝对URL。即使在访问者输入url并忘记输入尾随斜杠的情况下,这种方法也可以使用。

这篇关于Azure静态Web应用程序未正确加载页面资源。Css或javascript文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆