workbox:precacheController清理错误

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

我在documentation之后设置了一个预先缓存控制器。它似乎工作正常,仅适用于清理部分。

// Precache items
const precacheManifest = 
[
    {url: offlinePage, revision: '1.0.2'},
    {url: HomePage, revision: '1.0.2'},
    {url: './image/placeholder.png', revision: '1'},    
    {url: './manifest.json', revision: '1.0.1'},        
];

const precacheController = new workbox.precaching.PrecacheController(precacheName);
precacheController.addToCacheList(precacheManifest);

安装事件工作正常,并在安装时插入缓存。

/**
 * Install [Event]
 */
self.addEventListener('install', event => {
    console.log('install event.');
    event.waitUntil(precacheController.install());
});

问题是在activate事件中它在控制台中返回错误:

未捕获的TypeError:precacheController.cleanup不是函数。

/**
 * Activate [Event]
 */
self.addEventListener('activate', event => {
    console.log('activate event.');
    event.waitUntil(precacheController.cleanup());
});

我的实施有什么问题?我正在使用Workbox 3.6.1

workbox
1个回答
0
投票

事实证明,precacheController.cleanup()是一个错误的调用方法。

正确的一个形成最后一个documentation

/**
 * Activate [Event]
 */
self.addEventListener('activate', event => {
    console.log('activate event.');
    event.waitUntil(precacheController.activate());
});
© www.soinside.com 2019 - 2024. All rights reserved.