最近熬了不少個夜晚, 踩坑無數, 終於寫出了用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…