本篇文章主要介紹了詳解Nuxt.js Vue服務端渲染摸索,現在分享給大家,也給大家做個參考。
本文採用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佈局進行了指定。
上面是我整理給大家的,希望今後對大家有幫助。
相關文章:
#以上是Nuxt.js Vue服務端渲染摸索的詳細內容。更多資訊請關注PHP中文網其他相關文章!