基于vue-cli3的vue-ssr(一)

為什么使用服務(wù)器端渲染 (SSR)?

1.更好的 SEO,由于搜索引擎爬蟲抓取工具可以直接查看完全渲染的頁面。
2.更快的內(nèi)容到達時間 (time-to-content),特別是對于緩慢的網(wǎng)絡(luò)情況或運行緩慢的設(shè)備。

vue-ssr工作原理

搭建你的開發(fā)環(huán)境

1.使用vue create myApp創(chuàng)建你的vue項目
2.項目根目錄下新建vue.config.js文件
3.新建客戶端(entry-client.js),服務(wù)端入口文件(entry-server.js),項目入口文件(app.js),模板文件(index.template.html)
4.改造vuex,vue-router入口文件
5.創(chuàng)建server.js

搭建完場后你的項目結(jié)構(gòu)是這個樣子


接下來就是具體的配置了,首先我們要說的是app.js(main.js),vue-cli3搭建的項目默認的main.js是長這個樣子的

首先我們思考一下,這樣的單例模式是否符合我們服務(wù)端渲染的要求,我們知道客戶端的代碼對于每一個用戶來說都是獨立的,換句話說,每個用戶瀏覽器訪問我們的網(wǎng)站都會下載我們的網(wǎng)頁,然后獨立渲染運行,但是服務(wù)端渲染是與之相反的,所有用戶訪問相同的服務(wù)端代碼,也就是說,如果我們在服務(wù)端使用單例模式渲染出一個vue, vuex,vue-router實例,那么這個單例將被所有用戶共享,這顯然是不符合我們的要求的,那么怎么解決這個問題呢?

首先我們在構(gòu)建服務(wù)端渲染應(yīng)用時得給每一個請求提供一套新的vue全家桶,那怎么做才能達到這個目的呢?答案是使用工廠模式:

app.js(main.js)
create-router.js
create-store.js

使用工廠模式分別改造我們的vue, vuex, vue-router入口文件,使之可以每次調(diào)用都返回對應(yīng)的一個新實例。到現(xiàn)在為止我們已經(jīng)做好了所有的前期準備工作。接下來就是改造關(guān)于打包的部分,我們將在下一篇文章里面詳細介紹。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容