# Modules

Dig deeper into specific Workbox modules and browse their API reference to get
information on available methods.

## Service Worker Packages

[workbox-background-sync](https://developer.chrome.com/docs/workbox/modules/workbox-background-sync)
:   Use background sync to reliably make a network request even if the user is offline.

[workbox-broadcast-update](https://developer.chrome.com/docs/workbox/modules/workbox-broadcast-update)
:   Send messages to pages when a cache is updated with a new response.

[workbox-cacheable-response](https://developer.chrome.com/docs/workbox/modules/workbox-cacheable-response)
:   Restrict which requests are cached based on a response's status code or headers.

[workbox-core](https://developer.chrome.com/docs/workbox/modules/workbox-core)
:   Alter log levels and change cache names. Contains shared code used by all Workbox libraries

[workbox-expiration](https://developer.chrome.com/docs/workbox/modules/workbox-expiration)
:   Removed cached requests based on the number of items in a cache or the age of the cached request.

[workbox-google-analytics](https://developer.chrome.com/docs/workbox/modules/workbox-google-analytics)
:   Support for replaying offline Google Analytics interactions.

[workbox-navigation-preload](https://developer.chrome.com/docs/workbox/modules/workbox-navigation-preload)
:   Enable navigation preload, to get a network response for navigation requests faster.

[workbox-precaching](https://developer.chrome.com/docs/workbox/modules/workbox-precaching)
:   Easily precache a set of files and efficiently manage updates to files.

[workbox-range-requests](https://developer.chrome.com/docs/workbox/modules/workbox-range-requests)
:   This modules provides support for responding to a \`Range:\` request using a slice of previously cached data.

[workbox-recipes](https://developer.chrome.com/docs/workbox/modules/workbox-recipes)
:   Easily use common workbox patterns without needing to set them up yourself from individual packages.

[workbox-routing](https://developer.chrome.com/docs/workbox/modules/workbox-routing)
:   Routes requests in your service worker to specific caching strategies or callback functions.

[workbox-strategies](https://developer.chrome.com/docs/workbox/modules/workbox-strategies)
:   A set of runtime caching strategies that will handle responding to a request, normally used with \`workbox-routing\`.

## Window Packages

[workbox-window](https://developer.chrome.com/docs/workbox/modules/workbox-window)
:   A module that helps with registering a service worker, managing updates, and responding to lifecycle events.

## Node.js Modules

[workbox-cli](https://developer.chrome.com/docs/workbox/modules/workbox-cli)
:   Generate a service worker, inject a precache manifest, or create a local copy the Workbox libraries from the command line.

[workbox-build](https://developer.chrome.com/docs/workbox/modules/workbox-build)
:   A module that can generate a service worker, inject a precache manifest into existing code, or create a precache manifest.

[workbox-webpack-plugin](https://developer.chrome.com/docs/workbox/modules/workbox-webpack-plugin)
:   Generate a service worker or inject a precache manifest, using the webpack build tool.

## Loader (CDN)

[workbox-sw](https://developer.chrome.com/docs/workbox/modules/workbox-sw)
:   Provides a way to load the Workbox runtime without a build step.