繁体   English   中英

Azure 存储帐户 Static 网站需要很长时间才能加载

[英]Azure Storage Account Static Website takes lot of time to load

我已经在 Azure 存储帐户 Static 网站中部署了内置在 Angular 中的单页应用程序。 但是最初加载网站需要很多时间。 经过调查,我发现加载一个js文件大约需要 1.2 分钟 - main.af203c3f3d3f3672aa00.js ,大小只有 4.8MB。 同样在响应 header 我只能看到以下标题 -

Accept-Ranges: bytes
Content-Length: 4787902
Content-MD5: n+dgJsZM2T10m0hxWEpjJw==
Content-Type: text/javascript
Date: Tue, 21 Jul 2020 13:06:45 GMT
ETag: "0x8D82CBF6D4B3910"
Last-Modified: Mon, 20 Jul 2020 15:13:15 GMT
Server: Windows-Azure-Web/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 6ea1da4a-e01e-0045-0b5f-5f06fe000000
x-ms-version: 2018-03-28

Content-Encoding: gzip这个没有设置。 这就是为什么要花这么多时间来下载 4.8MB 的内容。

我检查了 azure 门户,没有找到任何启用Content-Encoding的选项。 如何在 Azure 存储帐户中启用 Static 网站的压缩?

使用 Azure 存储资源管理器,您可以在每个 blob 上设置内容类型、缓存控制、内容编码。 将 your.js 文件转换为 .gzip,然后在文件上设置正确的元数据。

这里有一个可以将javascript转换为gzip的在线工具: http://cnvyr.io/online

在此处输入图像描述

考虑到您正在按原样上传文件,简单地将 blob 的内容编码属性设置为gzip并没有帮助。

为此,您需要首先使用 gzip 压缩来压缩文件,然后将压缩文件上传到 blob 存储中。 您还需要将 blob 的内容编码属性设置为“gzip”。

如果您正在寻找第三方工具来执行此操作,请查看 Cerebrata Cerulean ( https://www.cerebrata.com )。 它有一个功能,您可以指示它在上传之前使用 gzip 或 deflate 压缩文件。 它也会自动将 blob 的内容编码属性设置为“gzip”或“deflate”。

完全披露:我正在处理这个应用程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM