前言
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 也會
就自學了這么多,還要在多加學習
加油呀少年