我在哪里导入工作箱 v5 中的 setConfig 表单?

Where do I import setConfig form in workbox v5?

在工作箱 v4 中很简单:workbox.setConfig({ debug: false });

我从哪里导入 v5 中的 setConfig?不幸的是,文档还没有。

如果您使用的是 Workbox v5 的 CDN 版本,则 workbox.setConfig({debug: false}) 的工作方式与之前相同。 (但我假设如果您使用的是 CDN 版本,您就不会问这个问题。)

我们预计大多数人不会通过 CDN 使用 Workbox v5,而是通过使用 JavaScript 模块并创建他们自己的捆绑服务工作者。在该设置中,devprod 模式之间的切换是不同的。

Workbox 代码库使用 process.env.NODE_ENV 变量来确定它是处于 dev 还是 prod 模式,使用 if 语句 like these 将有条件地记录在整个代码中找到。

如果您使用 webpack 创建一个使用 Workbox JavaScript 模块的捆绑服务工作者,那么 process.env.NODE_ENV 将自动替换为您的 [=29] 的值=].这意味着一切都应该 "just work" 并且当 webpack 配置为处于开发模式时你会得到一个带有额外日志语句的包,而当 webpack 处于开发模式时你会得到一个没有日志的更小的包生产模式。

如果您使用 Rollup 或其他捆绑器来使用 Workbox JavaScript 模块,您需要添加一个插件(如 @rollup/replace)来替换 process.env.NODE_ENV使用基于您是要创建 dev 还是 prod 捆绑包的字符串。

在后台,如果您在 Workbox v5 中使用 generateSW 模式,我们将使用 Rollup 创建最终的捆绑服务工作者。您可以看看我们如何处理 workbox-build source code.

中的字符串替换