最近熬了不少个夜晚, 踩坑无数, 终于写出了用VuePress驱动的主题.前端
只需体验三分钟,你就会跟我同样,爱上这款主题.vue
vuepress-theme-indigo-material, 已经发布到npm, 请客官享用~~webpack
vuepress-theme-indigo-material 的原主题是hexo-theme-indigo, github 的 star 数高达2042, fork 的有451个, 它在静态博客网站中的应用到处可见.在这里首先感谢原做者.git
然而它的定位是仅支持 IE10+ 等现代浏览器。既然不须要支持老版本浏览器, 在前端发展迅猛的今天, 已经有许多技术可以让网址更快, 因此我用VuePress来重写了它. 其实 indigo 的原做者已经在用 vuepress 重写了, 可是项目一直没有进展, 因此我接过了这个任务, 最后重写的效果是挺满意的.github
能够看看下面,本主题在个人有 51 篇博客笔记下, 部署在 github page, 在手机 4G 网络下的加载速度gif 图,网页加载速度很是快,更快的是,网页加载完成后,此后每一个页面的打开速度,都是仿佛在点击本地文件.web
具体感觉能够点击个人博客网站来亲身感觉, 部署在 github page 下, 国内请能够点击码云的 page 地址shell
正如VuePress文档所说:npm
每个由 VuePress 生成的页面都带有预渲染好的 HTML,也所以具备很是好的加载性能和搜索引擎优化(SEO)。json
用 Lighthouse 来测试网站中, SEO 一直都是100 ,打包后的大小也比起原主题小了许多.后端
加载快的缘由还在因而先在本地编译中把数据写进相应的 js 文件,
fs.writeFile(
`${dataPath}/search.js`,
`export default ${JSON.stringify(search, null, 2)};`,
error => {
if (error)
return console.log('写入搜索search文件失败,缘由是' + error.message);
console.log('写入搜索search文件成功');
}
);
复制代码
而后在网页被打开时, 在 vue.js 的生命周期 created 中, 结合 webpack 的 import()语法导入相应存放数据的 js 文件.
created() {
import(/* webpackChunkName: "search" */ "Data/search.js").then(search => {
this.search = search.default;
});
},
复制代码
webpack 会把代码分割,按需去利用 jsonp 去请求 js 文件, 这样咱们就能在本地编译时整理所需的数据, 而后模拟了 web APP 开发的流程, 页面先到达呈现, 数据后请求.而不用怕咱们所须要的数据和网页一块儿一次发过来,让网页加载速度缓慢
最后利用 vue 强大的 MVVM, 由于数据都有了, 此后的页面几乎是当即渲染, 即点即开.
这是我探索出来对没有后端的静态网站的一种很好的性能优化.
---
title: 【读书笔记】《JavaScript权威指南》第7章数组
date: 2018-11-08 04:10:03
tags: [读书笔记, 《JavaScript权威指南》]
---
复制代码
因为博客面向的群体比较都是技术人员, 因此本主题只在最新版的谷歌浏览器和火狐浏览器测试无误
vuepress 默认有编译一些对老版本浏览器的兼容, 具体控制请看它官网配置
我写了很详细的文档, 赶快去体验一下vuepress-theme-indigo-material吧, 若是以为不错, 您能给我一个star吗?
github地址:github.com/zhhlwd/vuep…