我在哪里导入工作箱 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 模块并创建他们自己的捆绑服务工作者。在该设置中,dev
和 prod
模式之间的切换是不同的。
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.
中的字符串替换
在工作箱 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
语句 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.