zp25's demo
https://demo.zp25.ninja
主要路径
+-- app
| +-- public
| | +-- manifest.json
| | +-- sw.js
| | +-- worker.js
| +-- scripts
| | +-- main.js
| +-- styles
+-- pages
| +-- css
| +-- html5
| +-- more
| +-- 404.js
| +-- index.js
| +-- wrap.js
+-- config.json
+-- writeFiles.js
页面配置
分类,style, script
保留字,不要用做分类名
index
,配置index.html404
,配置404.htmlhtml5
,HTML5 APIscss
,CSS3more
,其它
信息
name
,页面titletemplate
,模版路径file
,html导出路径link
,array,参考的文章列表title
,标题href
,URI
script
,boolean,是否包含js文件style
,boolean,是否包含样式文件(scss)useref
,array,可添加第三方依赖remove
,bool,是否removetype
,可选"script", "style"
src
,路径dest
,useref导出路径
新建文件夹在分类目录中,文件夹名同于配置的template,文件夹中包含
- index.js,模版
- script.js,可选,添加js文件
- style.scss,可选,添加样式文件
例如新建demo: canvas,配置config.js
{
"html5": [
{
"name": "Canvas",
"template": "canvas",
"style": true,
"script": true,
"file": "canvas.html"
}
]
}
在pages/html5
目录新建canvas
目录,添加index.js, style.scss, scripts.js
并编辑
运行npm run writeFiles
导出html文件
缓存
- index.html,不定期更新,例如添加或删除demo,使用
no-cache
总询问是否更新 - 其它html文件,长期不变
- scripts, styles,长期不变,Cache Busting应对更新
- images,长期不变,可能删除图片但不可能更新同名图片,使用相对scripts/styles较短的缓存时间
- 其它静态资源,无法确定,默认使用
no-cache
service worker
- index.html,不定期更新,Network falling back to the cache
- 其它静态资源,可跟随service worker更新,Cache falling back to the network
首次访问即可离线,cache添加index.html
,首页使用的scripts/styles文件名有hash不容易写入sw.js,但有较长browser cache缓存时间,sw.js可通过browser cache获取