All options are optional and offline-plugin
can be used without specifying them.
Also see list of default options here.
See appShell
option documentation
Default:
null
. Example:'/index.html'
Allows you to define what to cache and how.
'all'
: means that everything (all the webpack output assets) and URLs listed inexternals
option will be cached on install.Object
: Object with 3 possibleArray<string | RegExp>
sections (properties):main
,additional
,optional
. All sections are optional and by default are empty (no assets added).
Default:
'all'
.
Similar to webpack
's output.publicPath
option. Useful to specify or override publicPath
specifically for offline-plugin
. When not specified, webpack
's output.publicPath
value is used. When publicPath
value isn't spsecified at all (either by this option or by webpack
's output.publicPath
option), relative paths are used (see relativePaths
option).
Examples:
publicPath: '/project/'
publicPath: 'https://example.com/project'
Response strategy. Whether to use a cache or network first for responses.
With 'cache-first'
all request are sent to consult the cache first and if the cache is empty, request is sent to the network.
With 'network-first'
all request are sent to the network first and if network request fails consult the cache as a fallback.
Default:
'cache-first'
.
Cache update strategy. More details about updateStrategy
Please, do not change this option unless you're sure you know what you're doing.
Default:
'changed'
.
Allows you to specify additional (external to the build process) URLs to be cached.
Default:
null
Example:['/static/file-on-the-server.json', 'https://fonts.googleapis.com/css?family=Roboto']
Excludes matched assets from being added to the caches. Exclusion is performed before rewrites happens.
Learn more about assets rewrite
Default:
['**/.*', '**/*.map', '**/*.gz']
Excludes all files which start with.
or end with.map
or.gz
When set to true
, all the asset paths generated in the cache will be relative to the ServiceWorker
file or the AppCache
folder location respectively.
This option is ignored when publicPath
is set.
publicPath
option is ignored when this option is set explicitly to true
.
Default:
true
Version of the cache. Can be a function, which is useful in watch-mode when you need to apply dynamic value.
Function
is called with the plugin instance as the first argumentstring
which can be interpolated with[hash]
token
Default: Current date
Provides a way to rewrite final representation of the file on the server.
Useful when assets are served in a different way from the client perspective, e.g. usually /index.html
is served as /
.
Can be either a function or an Object
.
See more about rewrites
option and default function
See documentation of cacheMaps
for syntax and usage examples
Enables automatic updates of ServiceWorker and AppCache. If set to true
, it uses default interval of 1 hour. Set a number
value to provide custom update interval.
Note: Please note that if user has multiple opened tabs of your website then update may happen more often because each opened tab will have its own interval for updates.
Default:
false
Example:true
Example:1000 * 60 * 60 * 5
(five hours)
Settings for the ServiceWorker
cache. Use null
or false
to disable ServiceWorker
generation.
-
output
:string
. Relative (from the webpack's configoutput.path
) output path for emitted script.
Default:'sw.js'
-
entry
:string
. Relative or absolute path to the file which will be used as theServiceWorker
entry/bootstrapping. Useful to implement additional features or handlers for Service Worker events such aspush
,sync
, etc.
Default: empty file -
scope
:string
. Reflects ServiceWorker.register'sscope
option.
Default:null
-
cacheName
:string
. This option is very dangerous. This option should not be changed at all after you deployServiceWorker
to production. Changing it may corrupt the cache and leave old caches on users' devices.
This option is useful when you need to run more than one project on the same domain.
Default: ''
(empty string)
Example: 'my-project'
-
events
:boolean
. Enables runtime events for the ServiceWorker. For supported events seeRuntime
'sinstall()
options. Default:false
-
publicPath
:string
. Provides a way to overrideServiceWorker
's script file location on the server. Should be an exact path to the generatedServiceWorker
file. Default:null
Example:'/my/new/path/sw.js'
-
navigationPreload
:boolean | Object | ':auto:'
. SeeServiceWorker.navigationPreload
option documentation
Default: ':auto:'
-
prefetchRequest
:Object
. Provides a way to specify request init options for pre-fetch requests (pre-cache requests oninstall
event). Allowed options:credentials
,headers
,mode
,cache
.
Default:{ credentials: 'omit', mode: 'cors' }
Example:{ credentials: 'include' }
-
minify
:boolean
. If set totrue
orfalse
, theServiceWorker
's output will be minified or not accordingly. If set to something else, theServiceWorker
output will be minified if you are usingwebpack.optimize.UglifyJsPlugin
in your configuration.
Default:null
-
plugins
:Array
. The plugins which will be applied when compling theServiceWorker
's script. Default:[]
Example:[new require('webpack').DefinePlugin({ CAT: 'MEOW' })]
Settings for the AppCache
cache. Use null
or false
to disable AppCache
generation.
Warning: Officially the AppCache feature has been deprecated in favour of Service Workers. However, Service Workers are still being implemented across all browsers (you can track progress here) so AppCache is unlikely to suddenly disappear. Therefore please don't be afraid to use the AppCache feature if you have a need to provide offline support to browsers that do not support Service Workers, but it is good to be aware of this fact and make a deliberate decision on your configuration.
-
directory
:string
. Relative (from the webpack's configoutput.path
) output directly path for theAppCache
emitted files.
Default:'appcache/'
-
NETWORK
:string
. ReflectsAppCache
'sNETWORK
section.
Default:'*'
-
FALLBACK
:Object
. ReflectsAppCache
'sFALLBACK
section. Useful for single page applications making use of HTML5 routing or for displaying custom Offline page.
Example 1:{ '/blog': '/' }
will map all requests starting with/blog
to the domain roboto when request fails.
Example 2:{ '/': '/offline-page.html' }
will return contents of/offline-page.html
for any failed request.
Default:null
-
events
:boolean
. Enables runtime events for AppCache. For supported events seeRuntime
'sinstall()
options.
Default:false
-
publicPath
:string
. Provides a way to overrideAppCache
's folder location on the server. Should be exact path to the generatedAppCache
folder.
Default:null
Example:'my/new/path/appcache'
-
disableInstall
:boolean
. Disable the automatic installation of theAppCache
when callingruntime.install()
. Useful when you want to specify<html manifest="...">
attribute manually (to cache every page user visits).
Default:false
-
includeCrossOrigin
:boolean
. Outputs cross-origin URLs intoAppCache
's manifest file. Cross-origin URLs aren't supported inAppCache
when used on HTTPS.
Default:false