在workbox v4中很容易:workbox.setConfig({ debug: false });
从何处导入v5中的setConfig
?不幸的是,文件还没有到。
如果您使用的是Workbox v5的CDN版本,那么workbox.setConfig({debug: false})
的工作方式与以前相同。(但我想,如果你使用CDN版本,你不会问这个问题。(
我们预计大多数人不会通过CDN使用Workbox v5,而是通过使用JavaScript模块和创建自己的捆绑服务工作者来使用。在该设置中,在dev
和prod
模式之间切换是不同的。
Workbox代码库使用process.env.NODE_ENV
变量来确定它是处于dev
模式还是prod
模式,if
语句将有条件地记录整个代码。
如果您使用webpack
创建使用Workbox JavaScript模块的捆绑服务工作者,则process.env.NODE_ENV
将自动替换为您配置的mode
的值。这意味着一切都应该"正常工作",当webpack
被配置为处于开发模式时,您将获得一个带有额外日志记录语句的捆绑包,而当webpack
处于生产模式时,则会获得一个不带日志记录的较小捆绑包。
如果您使用Rollup或另一个bundler来使用Workbox JavaScript模块,则需要添加一个插件(如@rollup/replace
(,该插件将根据您是要创建dev
还是prod
捆绑包,用字符串替换process.env.NODE_ENV
。
在后台,如果您在Workbox v5中使用generateSW
模式,我们将使用Rollup创建最终的捆绑服务工作者。您可以看看我们如何处理workbox-build
源代码中的字符串替换。