在workbox-cli中为非webpack用户提供支持捆绑

问题描述 投票:0回答:1

我正在dist目录中运行以下命令。

workbox copyLibraries dist/en-in/; workbox generateSW workbox-config-prod.js;

服务工作者文件调用

importScripts("/workbox-v4.3.1/workbox-sw.js");

workbox-sw.js下载以下文件:

   workbox-core.prod.js
   workbox-precaching.prod.js
   workbox-routing.prod.js
   workbox-strategies.prod.js
   workbox-expiration.prod.js
   workbox-cacheable-response.prod.js"

问题1:

我已经为/workbox-v4.3.1/路径提供的所有文件设置了较长的过期缓存头因为它是版本。这种方法有什么缺点吗?

问题2:

Workbox可以为不使用任何捆绑程序的团队提供支持吗?

如果workbox-cli可以输出单个文件,1.仅那些在workbox-config文件中引用的Workbox模块。2.从workbox-config文件生成的代码。3.缩小这就是sw-precache用于生成服务工作者文件的方式。

workbox
1个回答
1
投票

我已为从中投放的所有文件设置了较长的过期缓存标头/workbox-v4.3.1/路径,因为它已被版本化。有什么缺点吗这种方法?

该方法没有任何缺点,因为正如您提到的,URL中使用了/v4.3.1/路径段,因此内容永远都不会改变。关于是否确实检查通过importScripts()加载的URL(在所有Workbox URL中发生)的细节,在细节上有一些细微差别,请参见this article。但是您使用Cache-Control标头所做的应该没问题。

Workbox可以为不使用任何捆绑程序的团队提供支持吗?

对于Workbox v5(截至2019年11月,预发行版),使用generateSW进行以下配置很简单:

{
  inlineWorkboxRuntime: true,
  mode: 'production',
  sourcemap: false,
  // ...other options...
}

这将生成一个单一的服务工作程序文件,其中包含缩小的Workbox运行时内联代码,没有源映射,这与输出所获得的一样简单。在后台,Workbox将使用Rollup为您创建一个自定义包,其中仅包含您实际需要的部分,因此您不必担心自己进行捆绑。

© www.soinside.com 2019 - 2024. All rights reserved.