首頁 > web前端 > js教程 > 主體

Nuxt.js Vue服務端渲染摸索

亚连
發布: 2018-06-06 17:58:49
原創
2195 人瀏覽過

本篇文章主要介紹了詳解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佈局進行了指定。

上面是我整理給大家的,希望今後對大家有幫助。

相關文章:

如何使用jQuery實作滑鼠響應式透明度漸層動畫效果

jQuery實作的滑鼠回應緩衝動畫效果

在jQuery中如何實作滑鼠響應式淘寶動畫效果

#

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!