解析Nuxt.js Vue服務端渲染摸索

本篇文章主要介紹了詳解Nuxt.js Vue服務端渲染摸索,寫的十分的全面細緻,具備必定的參考價值,對此有須要的朋友能夠參考學習下。若有不足之處,歡迎批評指正。前端

Nuxt.js 十分簡單易用。一個簡單的項目只需將 nuxt 添加爲依賴組件便可。 Vue因其簡單易懂的API、高效的數據綁定和靈活的組件系統,受到不少前端開發人員的青睞。國內不少公司都在使用vue進行項目開發,咱們正在使用的簡書,即是基於Vue來構建的。 咱們知道,SPA前端渲染存在兩大痛點:(1)SEO。搜索引擎爬蟲難以抓取客戶端渲染的頁面meta信息和其餘SEO相關信息,使網站沒法在搜索引擎中被用戶搜索到。(2)用戶體驗。大型webApp打包以後的js會很龐大,因而就有了按模塊加載,像require.js同樣,異步請求。webpack盛行,就變成了代碼分割。即使如此,受制於用戶設備,頁面初次渲染仍是有可能很慢,白屏等待時間太長,對日益挑剔的用戶羣體來講,沒法接受。 所以,對於那些展現宣傳型頁面,如官網,必須進行服務端渲染(SSR)。安裝 nuxt.jsvue

$ vue init nuxt-community/starter-template <你項目的名字>
// 後面 安裝依賴你懂的
// 安裝koa版本
$ vue init nuxt/koa <你的項目名字>

運行webpack

npm run dev

應用如今運行在 http://localhost:3000 注意:Nuxt.js 會監聽 pages 目錄中的文件變動並自動重啓, 當添加新頁面時沒有必要手工重啓應用。web

路由npm

nuxt 是根據pages 目錄結構生成路由配置瀏覽器

異步數據asyncData框架

注意必需要頁面組件才能調用asyncData(就是components下是不能調用,必須路由的頁面才行)koa

異步數據beforeCreate,created異步

注意:在任何vue組件的生命週期內,只有beforeCreate和created這兩個鉤子會在瀏覽器端和服務端均被調用;其餘的鉤子都只會在瀏覽器端調用。async

使用插件mint-ui

首先咱們須要在plugins文件夾中添加插件文件 mint-ui.js

import Vue from "vue";
import Mint from "mint-ui";
//歡迎加入前端全棧開發交流圈一塊兒學習交流:864305860 
Vue.use(Mint);

在nuxt.config.js中配置plugins字段

/**
 * 配置第三方插件
 */
 plugins: [{ src: "~plugins/mint-ui", ssr: true }],
 //歡迎加入前端全棧開發交流圈一塊兒學習交流:864305860
//同時nuxt還支持區分只在瀏覽器中運行和只在服務端運行的插件
 
//只在瀏覽器運行:配置nuxt.config.js中plugins字段,將引入的插件屬性設置爲ssr: false
//只在服務端運行:直接在webpack打包server.bundle.js文件中,將process.SERVER_BUILD設置爲true便可

layout佈局

1.nuxt.js實現了一個新的概念,layout佈局,咱們能夠經過layout布 局方便的實現頁面的多個佈局之間方便的切換。本項目中實現了三種經常使用的佈局,即:1)兩欄佈局,左欄固定,右欄動態寬度;二、錯誤頁提示,頁面中間一個提示框的佈局方案;三、純白頁面佈局。 具體開發的頁面中,若是使用默認佈局,則不需指定頁面的佈局,nuxt框架會自動對沒有指定佈局的頁面和default佈局進行關聯。若是須要指定佈局,則在layout字段中對佈局進行指定。如圖在login頁面中對full佈局進行了指定。

結語

感謝您的觀看,若有不足之處,歡迎批評指正。

相關文章
相關標籤/搜索