将依赖项导入到服务工作者



到目前为止,我一直在使用importScripts将外部依赖项导入到我的服务工作者中。但现在我在我的两个依赖项的文档中看到,要使用它们的最新版本,我应该使用import语句:

  1. Firebase云消息
  2. 谷歌工具箱

我看到的其他地方(在SO上或通过谷歌搜索(都说在service worker中使用importScripts。那么我是不是错过了什么?

我正在使用Webpack作为bundler。

在某些浏览器中,可以使用运行时ES模块导入将附加代码拉入ServiceWorkerGlobalScope。缺乏通用的浏览器支持意味着你可能很难完全依赖它。

正因为如此,做两件事中的一件仍然很常见:

  • 使用ES模块导入作为打包程序(如Rollup/webpack/ebuild(的构建时间信号,将代码包含在最终在浏览器中运行的服务工作程序包中。这就是文档(例如Workbox(引导人们走向的方向,并包括的示例。这种方法意味着bundler可以消除那些最终没有从导入的Workbox包中引用的代码。

  • 和以前一样使用importScripts()。Workbox仍然支持这一点,尽管它不是首选方法。

相关内容

  • 没有找到相关文章

最新更新