Nuxt 服務端渲染


前言

Nuxt.js 是一個基於 Vue.js 的通用應用框架。

ssr 渲染服務端 可以看官方文檔 https://zh.nuxtjs.org/guide/

nuxt 與平常 jsonp 不一樣 ,jsonp點擊跳轉是跳轉到新的頁面

而 Nuxt 而是打開路由,在一個頁面里 這就是 取了中間件

好處

1.不僅用於服務端渲染也可用於spa 應用開發
2.異步記載,中間件支持
3.nuxt可用網站靜態化

這是流程:

 

 

創建

 npm creat-nuxt-app <項目名>

運行: npm run dev

有張圖來說明

目錄:

 

 創建項目的時候是這樣的:

 

 然后就可以看到

 

 這樣就創建了一個NUXT項目

 

路由

<nuxt-link to="/users"> 用戶列表</nuxt-link>

動態路由

以下划線作為前綴的為vue文件或者目錄成為動態路由

pages/

    -- | users/

    ------ |_id.vue

 

 id 是必選參數,如果user里面沒有index.vue,那將視為可選參數

 

還有就是路由守衛

在plugins 文件夾目錄下:創建 router.js 文件:

就像這樣

然后就在可以在路由首位里做些事情

 

 

然后再nuxt.config.js 文件下導入

 

 

 

 然后要從新刷新

 

 

二級 參數 多個參數傳參 

//uers/:id/:name?

 

 

視圖

下圖展示了如何為制定路由配置和視圖

 

 

 

自定義布局:

創建layouts/users.vue

如圖:

 

 

 

 

 

 里面可以寫 頂部菜單 這樣就不用在路由里面寫了 

 

頁面

頁面組件實際上是vue 組件,只不過Nuxt為這些組件添加一些特殊配置項

 

 

 

異步數據獲取

asyncData 可以讓我們在設置組件的數據之前能異步獲取處理數據

(beforeCreact 生命周期之前,服務端和客戶端都會執行,執行非常靠前)

代碼:

 

 

 

 

 

 然后可根據 process.server. 來判斷是在客戶端還是服務端  true (服務端)

 

 

 

 

整合 axios

 

 

 在server 文件目錄下創建api.js

 

 

 nodemon  .\api.js  運行

 

攔截器的應用

 

 

 Vuex 

如果跟目錄下存在store 目錄,則nuxt將啟用 vuex

 

fetch的使用

如果頁面組件設置了fetch方法,它會在組件每次加載前被調用 (在服務端或切換至目標路由之前,比ayncData還前),

此方法需要跟服務端的人員配合

 

 

 

 

 

 

 

 

下面就是實戰了

 

 

 

 

 

 

構建思路

 

 

 攔截器 : 就是看參數是否正確,用戶是否正確認證,從而做出正確的相應

 

生命周期  beforeCreate 和create 都會在 服務端和客戶端 發生  fetch 也會

 

就自學了這么多,還要在多加學習  

 

加油呀少年


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM