PWA
plugin for SW Precache
$ npm install --save-dev @pwa/plugin-sw-precache
The plugin is recognized by and attached to @pwa/core
automatically.
However, you must manually include the generated sw.js
file into your bundle!
if (process.env.NODE_ENV === 'production') {
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/sw.js');
}
}
Note: For SW beginners, it's strongly recommended you use the above snippet!
However, it's not required to wrap registration in aNODE_ENV === 'production'
check.
Configurable via the precache
key on your pwa.config.js
file.
Default Config:
exports.precache = {
minify: true,
filename: 'sw.js',
// stripPrefix: env.src
navigateFallback: 'index.html',
navigateFallbackWhitelist: [/^(?!\/__).*/],
staticFileGlobsIgnorePatterns: [
/\.git/,
/\.DS_Store/,
/^manifest.*\.js(?:on)?$/,
/\.gz(ip)?$/,
/\.map$/,
/\.br$/
]
}
Available Options:
See Options for sw-precache-webpack-plugin
.