Hugo - 无法在资源的“完整性”属性中找到有效的摘要 - 资源已被阻止 - Github 上的主机

soM*_*rio 10 html css github github-pages hugo

问题:

我正在尝试在 GitHub 上部署/托管我的Hugo网站。

当我使用该命令在本地 ( http://localhost:1313/)运行该网站时,该网站可以完美呈现hugo server,但当我将其托管在 GitHub 上时,该网站无法正确呈现。

最初,我认为问题在于 GitHub 上的部署,但后来我打开了文件夹中的命令index.html生成的文件,我发现它在那里也不起作用。所以我认为index.html文件中的css连接有问题:hugopublic

href=https://username.github.io/assets/css/stylesheet.min.06dcab22093156f8a08872c23ce7ee2a8234185d3c84741f7b0ce0c78df475b8.css
Run Code Online (Sandbox Code Playgroud)

但这似乎是正确的链接。

安装过程和研究工作:

为了hugo首先创建该网站,我遵循了快速入门教程,为了应用我选择的主题,我遵循了此处描述的官方安装过程PaperMod。最后,为了将其托管在 GitHub 上,我遵循了推荐的说明

我的config.yml文件具有官方存储库中提供的示例文件的推荐结构。

除了在主题开发者的 GitHub 存储库上提交一个问题(除了他指出的无效修正之外,我没有得到明确的答案)之外,我还查看了几篇类似这样的文章,这个这个但没有一个他们工作。

我使用的是 Windows 10,我的 Hugo 版本是v0.78.2/extended windows/amd64.

更新:

我检查了html文件的控制台,发现了以下三个错误:

(索引):1 无法在资源“https://username.github.io/assets/css/stylesheet.min.5846effdc39e688e1bf07acc7a47123f949ae43a8b0e776fa1a2a626406cc602.css”的“完整性”属性中找到有效的摘要,计算出的SHA-256完整性为“J6YEe5hj”库克/TENUR7jEMr6VNR4lwN8iVpSGj1g8MU4='。资源已被屏蔽。

DevTools 无法加载 SourceMap:无法加载 chrome-extension://fheoggkfdfchfphceeifdbepaooicaho/sourceMap/chrome/iframe_handler.map 的内容:HTTP 错误:状态代码 404,net::ERR_UNKNOWN_URL_SCHEME

DevTools 无法加载 SourceMap:无法加载 chrome-extension://fheoggkfdfchfphceeifdbepaooicaho/sourceMap/chrome/content.map 的内容:HTTP 错误:状态代码 404,net::ERR_UNKNOWN_URL_SCHEME

jef*_*f-h 15

感谢 @Samuel Three 的回答,我开始更仔细地查看我的 Cloudflare 配置。

我发现我为 JavaScript 和 CSS 打开了 Cloudflare 的“自动缩小”功能(在“速度/优化”下)。禁用这些(并刷新一次 Cloudflare 缓存)为我解决了这个问题,并且我能够从那时起启用 Cloudflare 的缓存。

在此输入图像描述

当然,如果 Cloudflare 以任何方式修改 JS 或 CSS 文件,计算出的 SHA 完整性将不再正确。


soM*_*rio 5

解决方法:

我替换:

integrity="J6YEe5hjKuk/TENUR7jEMr6VNR4lwN8iVpSGj1g8MU4="

和:

integrity=""

在每个 文件的 css 标签中index.html

尽管我找到了一种自动执行此操作并首先跳过错误的解决方案,但这确实有效。

解决方案(!) - 更新:

看起来该文件夹head.html下的文件assets结构如下:

 <!-- Styles --> 
 {{- $stylesheet := (resources.Match "css/*.css") | resources.Concat "assets/css/stylesheet.css" | minify | fingerprint -}} 
 <link href="{{ $stylesheet.Permalink }}" integrity="{{ $stylesheet.Data.Integrity }}" rel="preload stylesheet" 
     as="style"> 
Run Code Online (Sandbox Code Playgroud)

我替换integrity="{{ $stylesheet.Data.Integrity }}"integrity=""并且它起作用了!它会自动生成index.html用空构建的文件integrity,因此没有错误并且运行完美。


小智 5

对于其他有相同完整性问题的人,将以下代码添加到我的config.yml文件中解决了问题。

params:
    assets:
        disableFingerprinting: true
Run Code Online (Sandbox Code Playgroud)