UNPKG

1.54 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
38### version
39
40```js
41{
42 version: 'this is a version string'
43}
44```
45`version` 默认值是当前时间的时间版本字符串
46
47
48### filePath
49
50```js
51{
52 filePath: './src/sw-register.js'
53}
54```
55
56`filePath` 默认值是 `./src/sw-register.js`
57如果没有配置这个字段,插件会优先寻找 `./src/sw-register.js` 文件
58如果还是没找到这个文件,插件会使用内置的 sw-resgiter.js 文件进行 service worker 文件注册。
59
60
61### 注意事项
62
63`sw-register-webpack-plugin` 有一个内置的 message 时间处理函数,其作用是专门接受 service-worker.js 发送的 postMessage 事件
64我们会借助这个事件完成 service-worker.js 文件更新的实时监测。
65
66当 service-worker.js 进入 activate 状态,可以做如下操作:
67
68```js
69clients[0].postMessage('updateMessage')
70```
71
72
73`/service-worker.js` 需要保证能够被访问到