Nuxt.js Vue服務端渲染摸索
本篇文章主要介紹了詳解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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在 Vue.js 中使用 Bootstrap 分為五個步驟:安裝 Bootstrap。在 main.js 中導入 Bootstrap。直接在模板中使用 Bootstrap 組件。可選:自定義樣式。可選:使用插件。

可以通過以下步驟為 Vue 按鈕添加函數:將 HTML 模板中的按鈕綁定到一個方法。在 Vue 實例中定義該方法並編寫函數邏輯。

Vue.js 中的 watch 選項允許開發者監聽特定數據的變化。當數據發生變化時,watch 會觸發一個回調函數,用於執行更新視圖或其他任務。其配置選項包括 immediate,用於指定是否立即執行回調,以及 deep,用於指定是否遞歸監聽對像或數組的更改。

Vue.js 返回上一頁有四種方法:$router.go(-1)$router.back()使用 <router-link to="/"> 組件window.history.back(),方法選擇取決於場景。

Vue 多頁面開發是一種使用 Vue.js 框架構建應用程序的方法,其中應用程序被劃分為獨立的頁面:代碼維護性:將應用程序拆分為多個頁面可以使代碼更易於管理和維護。模塊化:每個頁面都可以作為獨立的模塊,便於重用和替換。路由簡單:頁面之間的導航可以通過簡單的路由配置來管理。 SEO 優化:每個頁面都有自己的 URL,這有助於搜索引擎優化。

NetflixusesAcustomFrameworkcalled“ Gibbon” BuiltonReact,notReactorVuedIrectly.1)TeamSperience:selectBasedonFamiliarity.2)ProjectComplexity:vueforsimplerprojects:reactforforforproproject,reactforforforcompleplexones.3)cocatizationneedneeds:reactoffipicatizationneedneedneedneedneedneeds:reactoffersizationneedneedneedneedneeds:reactoffersizatization needefersmoreflexibleise.4)

在 Vue.js 中引用 JS 文件的方法有三種:直接使用 <script> 標籤指定路徑;利用 mounted() 生命週期鉤子動態導入;通過 Vuex 狀態管理庫進行導入。

Vue.js 遍歷數組和對像有三種常見方法:v-for 指令用於遍歷每個元素並渲染模板;v-bind 指令可與 v-for 一起使用,為每個元素動態設置屬性值;.map 方法可將數組元素轉換為新數組。
