通过 CLI 指令构建
如果您使用的平台不是 NodeJs 或框架没有专门支持 swpp 的包,那么可以使用 CLI 指令构建 swpp 内容,但是通过 CLI 构建 swpp 相比于使用专门适配框架的软件包要麻烦一些,需要运行指令才能在本地预览 Service Worker。
安装
运行下面指令即可完成安装:
npm install swpp-backends@3
配置 CLI
您需要在项目的某一个位置创建 CLI 的配置文件,默认路径是:./swpp.cli.json
(路径相对于运行指令的位置),您可以通过指令修改该路径。然后在其中填写如下内容:
{
"webRoot": "这里填发布目录",
"configFiles": [
"这里填 js/ts 配置文件的相对路径(绝对路径也可以,但是推荐相对路径)"
]
}
配置项的具体解释如下(?:
表示可选,:
表示必填):
export interface SwppCliConfig {
/** 网站根目录(就是存放最终生成的 html、css 等文件的目录)的绝对或相对路径 */
webRoot: string
/** 配置文件所在的相对路径(越靠前优先级越高) */
configFiles: string[]
/** dom js 的相对路径(相对于网站根目录,以 `/` 开头 `.js` 结尾),默认值为 `/sw-dom.js` */
domJsPath?: string
/**
* 需要被排除的 html 文件名,正则表达式。
* 如果部分 html 文件不需要在其中插入 <script>,那么在这里可以填写正则表达式忽略这些文件,区分大小写。
* 默认为空。
*/
excludes?: string[]
/** 是否生成 sw 文件。默认为 true */
serviceWorker?: boolean
/** 是否向 HTML 中插入注册代码。默认为 true */
auto_register?: boolean
/** 是否自动生成 DOM JS 并在 HTML 插入 <script>。默认为 true */
gen_dom?: boolean
/**
* diff json 的相对路径(相对于项目根目录)或绝对路径(以 .json 结尾)。
* 该文件当中存储本次构建更新的缓存的列表。
* 留空表示不生成,该项用于辅助用户使用脚本自动刷新 CDN 缓存。
*/
diffJsonPath?: string
}
指令
您可以运行 swpp-cli -h
指令获取帮助信息,下面是一些常用的指令:
swpp-cli -v
: 查看版本swpp-cli -b
: 构建 swpp
在构建 swpp 时,您可以通过添加 --prod
来将构建模式切换到生产模式,否则为开发模式。
创建 swpp 配置文件
在项目根目录下创建 swpp.config.ts
文件(您可以通过 json
配置修改配置文件所在的路径)。
CLI 不会自动为您填写配置文件中的 DOMAIN_HOST
字段,所以您需要手动填写该字段。
到这里您就完成了 swpp 安装的所有流程,但是此时您尚未启用 swpp 的任何功能,所以并不能给您的网站带来任何改善,继续阅读文档以了解 swpp 的配置项。