詳解Nuxt.js Vue服務端渲染摸索,nuxt.jsvue
本文採用nuxt進行服務端渲染https://zh.nuxtjs.org/
Nuxt.js 十分簡單易用。一個簡單的項目只需將 nuxt 添加為相依元件即可。
Vue因其簡單易懂的API、高效的資料繫結和靈活的組件系統,受到很多前端開發人員的青睞。國內很多公司都在使用vue進行項目開發,我們正在使用的簡書,便是基於Vue來構建的。
我們知道,SPA前端渲染存在兩大痛點:(1)SEO。搜尋引擎爬蟲難以抓取用戶端渲染的頁面meta資訊和其他SEO相關資訊,使網站無法在搜尋引擎中被使用者搜尋到。(2)使用者體驗。大型webApp打包之後的js會很龐大,於是就有了按模組載入,像require.js一樣,非同步請求。webpack盛行,就變成了代碼分割。即便如此,受制於使用者裝置,頁面初次渲染還是有可能很慢,白屏等待時間太長,對日益挑剔的使用者群體來說,無法接受。
因此,對於那些展示宣傳型頁面,如官網,必須進行服務端渲染(SSR)。安裝 nuxt.js
$ vue init nuxt-community/starter-template <你項目的名字>// 後面 安裝依賴你懂的
// 安裝koa版本$ vue init nuxt/koa <你的項目名字>
運行
npm run dev
應用現在運行在 http://localhost:3000
注意:Nuxt.js 會監聽 pages 目錄中的檔案變更並自動重啟, 當添加新頁面時沒有必要手工重啟應用。
路由
nuxt 是根據pages 目錄結構產生路由配置
非同步資料asyncData
注意必須要頁面組件才能調用asyncData(就是components下是不能調用,必須路由的頁面才行)
非同步資料beforeCreate,created
注意:在任何vue組件的生命週期內,只有beforeCreate和created這兩個鉤子會在瀏覽器端和服務端均被調用;其他的鉤子都只會在瀏覽器端調用。
使用外掛程式mint-ui
首先我們需要在plugins檔案夾中添加外掛程式檔案 mint-ui.js
import Vue from "vue";import Mint from "mint-ui";Vue.use(Mint);
在nuxt.config.js中配置plugins欄位
/** * 配置第三方外掛程式 */ plugins: [{ src: "~plugins/mint-ui", ssr: true }],//同時nuxt還支援區分只在瀏覽器中運行和只在服務端啟動並執行外掛程式//只在瀏覽器運行:配置nuxt.config.js中plugins欄位,將引入的外掛程式屬性設定為ssr: false//只在服務端運行:直接在webpack打包server.bundle.js檔案中,將process.SERVER_BUILD設定為true即可
layout布局
1.nuxt.js實現了一個新的概念,layout布局,我們可以通過layout布 局方便的實現頁面的多個布局之間方便的切換。本項目中實現了三種常用的布局,即:1)兩欄布局,左欄固定,右欄動態寬度;2、錯誤頁提示,頁面中間一個提示框的布局方案;3、純白頁面配置。
具體開發的頁面中,如果使用預設布局,則不需指定頁面的布局,nuxt架構會自動對沒有指定布局的頁面和default布局進行關聯。如果需要指定布局,則在layout欄位中對布局進行指定。在login頁面中對full布局進行了指定。
以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援幫客之家。