Anzhiyu-Theme探讨
慢才后生[TOC]
一、 网站(主要)目录结构:
“tree /f > tree.txt”命令,将当前目录下的 所有文件夹及文件 以“文件树”形式输出到当前路径下的tree.txt中。
blog/source文件夹下:
1 | │ ads.txt |
blog/public文件夹下:
1 | │ ads.txt |
二、hexo-swpp@3.3.1
和swpp-backends@2.3.11
- 注意两者的版本要相兼容,且不能太高;
- “hexo-swpp@4.0.0-alpha.112“和”swpp-backends@3.0.0-alpha.422“虽相兼容,但会跳过“主题中的sw-rule.js”,须另外配置seviceWorker服务。
1 | # pwa资源优化 |
三、update.json
和cacheList.json
- 这两个文件是
hexo swpp
命令同时生成的(前提是_config.yml
中的swpp选项auto_exec:false
!否则hexo swpp
命令无效,只能经hexo d
命令才可生成!)。 - 只有 存在于
cacheList.json
文件列表中的资源,才能被seviceWorker缓存;该文件列表的变动会随即影响update.json
中的内容(记录更新了哪些文件,更新seviceWorker的版本号)。 - 服务器根目录必须有
update.json
,用于“记录sw中的文件更新并更改sw缓存版本号”;若网站根目录(包括服务器根目录)缺失该文件,执行hexo swpp
会报错;故直接放到source目录,首次新建update.json
并推送到服务器,今后hexo swpp
会自动以服务器上的update.json为基础“记录sw中的文件更新并更改sw缓存版本号”,并同步到本地public中的update.json
。 cacheList.json
的生成出口是public/
;执行hexo g
后该目录会被删除;所以当不执行hexo swpp
,或auto_exec:false
条件下也不执行hexo d
时,为保证服务器根目录一直存在cacheList.json
,须直接拷贝一份到source/
下。- 今后即便直接
hexo g
不再执行hexo swpp
也有 旧cacheList.json
可推送到服务器; - 若
hexo g
后,继续执行hexo swpp
会生成cacheList.json
覆盖旧的;同时public中的update.json
会以服务器上的update.json
为基准,记录变动的内容,本地public中的update.json
自动与服务器同步。
- 今后即便直接