> plugin for [SW Precache](https://github.com/GoogleChromeLabs/sw-precache)
npm install @siteone/builder-plugin-sw-precache> plugin for SW Precache
``sh`
$ npm install --save-dev @siteone/builder-plugin-sw-precache
The plugin is recognized by and attached to @siteone/builder-core automatically.
However, you must manually include the generated sw.js file into your bundle!
`js`
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 a NODE_ENV === 'production' check.
Configurable via the precache key on your bldr.config.js file.
Default Config:
`js`
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`.