詳解Nuxt.js Vue服務端渲染摸索,nuxt.jsvue

來源:互聯網
上載者:User

詳解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布局進行了指定。

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援幫客之家。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.