UNPKG

1.71 kBMarkdownView Raw
1# sw-register-webpack-plugin
2
3> 该插件解决 service-worker.js 文件 no-cache 问题,如果在服务端能做到对 /service-worker.js 的 no-cache, 可以忽略此方案。
4主要解决服务端不能对 service-worker.js 进行 no-cache 设置,并且要求 service-worker.js 实时监测更新的场景。
5
6
7## Usage
8
9### 安装
10
11```bash
12npm install sw-register-webpack-plugin --save-dev
13```
14
15### 在 webpack 插件里应用
16
17```js
18// ...
19import SwRegisterWebpackPlugin from 'sw-register-webpack-plugin';
20// ...
21
22webpack({
23 // ...
24 plugins: [
25 new SwReginsterWebpackPlugin(/* options */);
26 ]
27 // ...
28});
29
30// ...
31```
32
33
34
35## Options 参数
36
37### swPath
38
39```js
40{
41 swPath: '/service-worker.js'
42}
43```
44
45`swPath` 的默认值是 `/service-worker.js`
46`swPath` 如果想换其他的文件名,必须要求是绝对路径的静态资源名,并且能够访问的到
47
48
49### version
50
51```js
52{
53 version: 'this is a version string'
54}
55```
56`version` 默认值是当前时间的时间版本字符串
57
58
59### filePath
60
61```js
62{
63 filePath: './src/sw-register.js'
64}
65```
66
67`filePath` 默认值是 `./src/sw-register.js`
68如果没有配置这个字段,插件会优先寻找 `./src/sw-register.js` 文件
69如果还是没找到这个文件,插件会使用内置的 sw-resgiter.js 文件进行 service worker 文件注册。
70
71
72### 注意事项
73
74`sw-register-webpack-plugin` 有一个内置的 message 时间处理函数,其作用是专门接受 service-worker.js 发送的 postMessage 事件
75我们会借助这个事件完成 service-worker.js 文件更新的实时监测。
76
77当 service-worker.js 进入 activate 状态,可以做如下操作:
78
79```js
80clients[0].postMessage('updateMessage')
81```