我在哪里为create-react-app中的服务工作者添加addEventListener?

时间:2018-03-27 15:41:03

标签: reactjs service-worker progressive-web-apps

create-react-app会生成registerServiceWorker.js个文件。我正在关注this教程,我想向服务工作者添加一个fetch监听器。我不确定我在哪里放置代码。

我尝试在第15行插入registration.addEventListener(请参阅pastebin链接)。但捆绑者删除了它。我也尝试在第20行添加navigator.serviceWorker.addEventListener但是效果不佳。

有些消息来源[1]提到应用程序需要被弹出。有没有办法在不弹出的情况下完成?

1 个答案:

答案 0 :(得分:0)

在插件页面https://github.com/goldhand/sw-precache-webpack-plugin上,他们说你可以定义任何sw-precache选项。

当你前往sw-precache页面https://github.com/GoogleChromeLabs/sw-precache#options-parameter时,你会发现一个选项runtimeCaching:

如果你定义了runtimeCaching,它应该自动将sw-toolbox添加到你的项目中。您现在可以为每个urlPattern定义一个处理程序,如'networkFirst'或'faster'(或编写您的自定义请求处理程序。)请参阅github页面上的示例。

这只是理论上它应该如何运作,我从未尝试过,但我希望它会给你一些帮助。 (让我知道它是否有效: - ))