首頁  >  文章  >  web前端  >  Nuxt.js Vue服務端渲染詳解

Nuxt.js Vue服務端渲染詳解

小云云
小云云原創
2018-02-09 10:11:341812瀏覽

Nuxt.js 十分簡單好用。一個簡單的專案只需將 nuxt 新增為依賴元件即可。本文主要跟大家介紹了Nuxt.js Vue服務端渲染摸索,為大家做個參考,希望能幫助大家。

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佈局進行了指定。


相關建議:


Vue.js與ASP.NET Core 服務端渲染功能

##Nuxt 的Vue.js 服務端渲染實作

詳解React服務端渲染實例

以上是Nuxt.js Vue服務端渲染詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn