如何将 Google 的工作箱添加到 Angular 项目中?

How do I add Google's Workbox to an Angular project?

我正在尝试在我的项目中使用 Google 的 Workbox,但目前没有关于让 Workbox 使用新的 angular 项目的步骤的教程或指南。自从 angular 使用打字稿而不是直接 js 以来,有人对如何完成这类事情有任何见解或资源吗?例如,工作箱向导是否适用于 angular 项目,或者我是否需要做任何特殊的事情?

您可以通过多种方式在您的 Angular 项目中使用 Workbox

如果您使用 webpack,您可以使用 workbox-webpack-plugin 轻松生成一个 service worker,关于如何使用它的所有内容都很详细 here。 您可以使用 GenerateSW 生成一个完整的工作服务工作者、运行时缓存等。还有 InjectManifest 插件来创建预缓存清单并将其注入您自己的服务工作者。

顺便说一句,如果你宁愿自己写而不是使用插件,你仍然可以在你的 Angular 项目中使用直接 js 编写你的服务工作者,并使用 Angular ServiceWorkerModule 使用 register() 函数将其注册到您的应用程序(这应该在主 Angular 模块的 imports 数组中完成)。 您还需要使用 importScripts('https://storage.googleapis.com/workbox-cdn/releases/3.6.2/workbox-sw.js');

将工作箱库导入您的服务工作者

我从来没有使用过工作箱向导,所以我不能告诉你更多关于它的信息,但上面的内容应该可以解决问题。