工作框核心

Workbox 采用模块化设计,让开发者可以选择要使用的部分,而无需强制下载单个文件中的所有内容。

不过,模块之间存在重叠,例如,每个模块都需要与控制台交互、抛出有意义的错误以及使用网络或缓存。为避免每个模块都实现相同的逻辑,workbox-core 包含每个模块都依赖的此通用代码。

此模块确实会向开发者提供一些功能,但除了日志级别和缓存之外,workbox-core 还会向每个模块(而非最终开发者)提供内部逻辑。

查看和更改默认缓存名称

Workbox 通过 cacheNames 定义其缓存:

import {cacheNames} from 'workbox-core';

console.log(cacheNames.precache);
console.log(cacheNames.runtime);
console.log(cacheNames.googleAnalytics);

这些缓存名称采用前缀、名称和后缀的格式构建,其中名称会根据缓存的使用情况而变化。

<prefix>-<cache-id>-<suffix>

您可以通过更改传递给 setCacheNameDetails() 的所有或部分值来更改这些默认名称。

import {cacheNames, setCacheNameDetails} from 'workbox-core';

setCacheNameDetails({
  prefix: 'my-app',
  suffix: 'v1',
  precache: 'install-time',
  runtime: 'run-time',
  googleAnalytics: 'ga',
});

// Will print 'my-app-install-time-v1'
console.log