我已在 Azure 存储帐户静态网站中部署了在 Angular 中内置的单页应用程序。但最初加载网站需要花费大量时间。经过调查,我发现加载一个 js
文件大约需要 1.2 分钟 - main.af203c3f3d3f3672aa00.js
,大小仅为 4.8MB。
另外,在响应 header 中,我只能看到以下 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 存储帐户中启用静态网站的压缩?
最佳答案
使用 Azure 存储资源管理器,您可以在每个 Blob 上设置内容类型、缓存控制和内容编码。将 .js 文件转换为 .gzip,然后在文件上设置正确的元数据。
这里有一个可以将javascript转换为gzip的在线工具:http://cnvyr.io/online
关于Azure存储帐户静态网站需要很长时间才能加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63015570/