hexo博客加载优化
概览
资源类型 | 文件大小 | 情景 | 加载时间 | 处理方式 | 前置准备 |
---|---|---|---|---|---|
woff2 字体文件 |
5M+ | 一:放在source 目录下,直接访问托管的github网站 |
20s+ | 可以托管在国内的gitee上,但它会莫名封掉不让访问。并且hexo 有部分应用依赖github 。不考虑托管在国内 |
无 |
二:文件挂到七牛云存储上,https://s.qiniu.com/QVNJNf | cdn | 1.备案域名 2.域名证书 |
|||
图片 | 大图 | 例如:toc_img和底部图 | 图片格式转为webp,工具:XnConvert | ||
小图 | 例如自定义鼠标图 | 资源文件直接放在github托管的网站上,在source目录下 css中的可以通过相对路径引用,配置文件可以直接通过域名访问 |
|||
字体图标
默认走的是jsdelivr
图片
小图
小图还是别放免费图床了,完全属于负优化了,当然如果找到了serverResponse比较快的图床,还是可以的(如果付费图床自己做了cdn,还是放图床上吧)
放图床上
放github上
放七牛云上
对比可以看到,虽然七牛云的contentDownload最快,但由于是外链,有个200多ms的Queueing队列调度时间(这个是本站程序决定的),并且七牛云等待serverResponse的时间并不比github快
资源跨域图
如果是文章里的外链图片,压缩成webp放在https://7bu.top/图床上(支持webp格式)
这个是付费的图床,做了cdn加速的,也不贵
图片还是不放在七牛云上了,就放个字体文件就行
文章图片懒加载
Hexo 图片懒加载 | 竹山一叶 (zsyyblog.com)
CSS
处理自定义CSS文件
先在_config.yml
忽略掉一些文件,避免发布纳入
1 | exclude: |
样例
1 | # 处理或不处理目录或文件 |
在source/custom
使用webpack压缩文件
1 | npm i webpack@4.41.6 webpack-cli@3.3.11 -D |
对应的webpack.config.js
1 | const {resolve} = require('path') |
js/index.js
中引入原来写在配置文件中的css
1 | import '../css/font.css'; |
注意css中不要写相对路径,直接写source
下一级的路径/custom/css/...
即可,否则打包会不认识webp
格式
运行npx webpack
打包,在css
目录中生成了custom.min.css
在配置文件中引入这一个css文件即可
注意:我们在写样式类名和id名时,尽量保持唯一不要重复
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 吕小布の博客!
评论