Pinia 初始化與配置
在多品牌平台專案中,Pinia 的初始化配置與專案結構設計。
1. 面試回答主軸
- Pinia 選擇理由:更好的 TypeScript 支援、更簡潔的 API、模組化設計、開發體驗更好。
- 初始化配置:使用
piniaPluginPersistedstate實現持久化,擴展PiniaCustomProperties介面。 - 專案結構:30+ 個 stores,按功能領域分類管理。
2. 為什麼選擇 Pinia?
2.1 Pinia vs Vuex
Pinia 是 Vue 3 的官方狀態管理工具,作為 Vuex 的後繼者,提供了更簡潔的 API 和更好的 TypeScript 支援。
面試重點答案:
-
更好的 TypeScript 支援
- Pinia 提供完整的型別推斷
- 不需要額外的輔助函數(如
mapState、mapGetters)
-
更簡潔的 API
- 不需要 mutations(Vuex 中的同步操作層)
- 直接在 actions 中執行同步/非同步操作
-
模組化設計
- 無需嵌套模組
- 每個 store 都是獨立的
-
開發體驗更好
- 支援 Vue Devtools
- Hot Module Replacement (HMR)
- 體積更小(約 1KB)
-
Vue 3 官方推薦
- Pinia 是 Vue 3 的官方狀態管理工具