Service Worker 将文件存储在内容长度为 0 的内容缓存文件中

问题描述 投票:0回答:2

在开发 PWA 时,我使用 Service Worker 下载文件并将其存储在缓存中。 我注意到所有文本资源(json、js、css、html)的内容长度均为 0,因为它们没有被缓存。 而所有其他文件(图像、声音、字体)都有有效的内容长度。

我使用的是 Chrome 89.0.4389.114。

javascript google-chrome service-worker browser-cache
2个回答
0
投票

我注意到的唯一共同点是 Accept-Encoding: gzip 所以我决定关闭压缩。 现在它正在发挥作用。所有文件的长度都不为 0。

解决方法:

我在服务器端使用 Spring Boot,因此要关闭它,您需要将属性设置为 false。

server.compression.enabled=false

0
投票

在 precacheAndRoute 之前添加此ignoreVary选项对我有用!

import { getOrCreatePrecacheController } from 'workbox-precaching/utils/getOrCreatePrecacheController';
getOrCreatePrecacheController().strategy.matchOptions = {
  ignoreVary: true,
};
precacheAndRoute([...])
© www.soinside.com 2019 - 2024. All rights reserved.