Workbox (https://developers.google.com/web/tools/workbox/) is another open source project to help you create service workers. It is maintained by the Chrome team, but like the other projects, I have reviewed those open to public contributions.
The goal of Workbox is to help scaffold complete service workers or add complex components to existing service workers. Workbox allows you to build on a solid foundation, so you can configure to meet your specific needs. It gives you control over how you build your service worker. You can manually add features to existing service workers and tooling to scaffold a service worker from scratch.
A properly configured service worker uses a combination of appropriate caching strategies. The key part of that sentence is a properly configured service worker, which is, as you should know by now, not simple...