English
ExpirationPlugin
Class @vite-pwa/workbox-swkit/expirationThis plugin can be used in a workbox-strategy to regularly enforce a limit on the age and / or the number of cached requests.
It can only be used with workbox-strategy instances that have a custom cacheName property set. In other words, it can't be used to expire entries in strategy that uses the default runtime cache name.
Whenever a cached response is used or updated, this plugin will look at the associated cache and remove any old or extra responses.
When using maxAgeSeconds, responses may be used once after expiring because the expiration clean up will not have occurred until after the cached response has been used. If the response has a "Date" header, then a light weight expiration check is performed and the response will not be used immediately.
When using maxEntries, the entry least-recently requested will be removed from the cache first.
Constructor
ts
new ExpirationPlugin(config: ExpirationPluginOptions)Methods
deleteCacheAndMetadata()
ts
deleteCacheAndMetadata(): Promise<void>This is a helper method that performs two operations:
- Deletes all the underlying Cache instances associated with this plugin instance, by calling caches.delete() on your behalf.
- Deletes the metadata from IndexedDB used to keep track of expiration details for each Cache instance.
When using cache expiration, calling this method is preferable to calling caches.delete() directly, since this will ensure that the IndexedDB metadata is also cleanly removed and open IndexedDB instances are deleted.
Note that if you're not using cache expiration for a given cache, calling caches.delete() and passing in the cache's name should be sufficient. There is no Workbox-specific method needed for cleanup in that case.