您的浏览器需要启用 JavaScript 才能正常访问此网站。
諮詢熱線:15911225507
龍霄
登入
首頁-所有文章tw-Nuxt.js繁体,Vue.js繁体-正文

Pinia 狀態持久化與記憶體治理實戰

龍霄龍霄Nuxt.js繁体, Vue.js繁体4个月前003.64K
本文系統介紹大型 Nuxt 4 專案中 25 個 Pinia Store 的狀態管理架構,深入分析 shallowRef 記憶體最佳化、localStorage 持久化白名單策略、路由級 KeepAlive 控制,以及配套的 memory profiling 工具鏈。
大型 Nuxt 4 專案中 Pinia Store 的記憶體管理、持久化策略和路由級 KeepAlive 控制的完整方案

一、Store 體系

25 個獨立 Pinia Store,分為四大類:

類別Store說明
內容類PostStore, ArchiveStore, SearchStore, DocumentStore, VideoStore文章/歸檔/搜尋/文件/影片
使用者類LoginStore, UserCenterStore, AnswerStore, BookmarkStore, CommentStore登入/使用者中心/收藏/評論
業務類CartStore, ShopStore, ProductStore, OrderStore, PayStore購物車/商城/產品/訂單/支付
系統類GeneralStore, HeaderStore, BuilderStore, EventStore通用設定/頭部/建構器/事件

二、Pinia 持久化

modules: [
    ['@pinia/nuxt', { autoImports: ['defineStore', 'storeToRefs', 'acceptHMRUpdate'] }],
    'pinia-plugin-persistedstate/nuxt'
]

piniaPluginPersistedstate: {
    cookieOptions: { sameSite: 'strict', secure: process.env.NODE_ENV !== 'development' },
    storage: 'localStorage',
    debug: process.env.NODE_ENV === 'development'
}
export const useCartStore = defineStore('cart', () => {
    const items = ref([])
}, {
    persist: { key: 'salong_cart', storage: localStorage, paths: ['items'] }
})

三、shallowRef 記憶體最佳化

// ❌ ref 遞迴將整個物件樹轉換為響應式
const posts = ref<Post[]>([])

// ✅ shallowRef 只追蹤陣列引用變化
const posts = shallowRef<Post[]>([])

儲存 100 篇文章時:ref 約 2MB 額外記憶體,shallowRef 約 8KB。

四、KeepAlive

const KEEPALIVE_MAX = 12
const keepaliveExcludeRules = [/^\\/builder/, /^\\/login/, /^\\/cart/, ...]

export default defineNuxtRouteMiddleware((to) => {
    if (shouldKeepAlive(to.path)) { to.meta.keepalive = { max: KEEPALIVE_MAX } }
})
路由KeepAlive理由
首頁 /✅ 快取高頻訪問
內容詳情 .html✅ 快取保持捲動位置
建構器 /builder❌ 不快取編輯態需即時狀態

五、工具鏈

pnpm memory:test    # 單元測試
pnpm memory:profile # 記憶體分析(--expose-gc)
pnpm memory:load    # 負載測試
pnpm memory:analyze # 日誌分析

六、總結

層級機制控制參數
Store 級shallowRef大陣列用 shallowRef
持久化級paths 白名單 + localStorage只持久化關鍵欄位
路由級KeepAlive max=12高頻頁面快取
快取級LRU 預算控制500 條 / 32MB
標籤:
本文原创,作者:龍霄,其版权均为龙霄所有。如需转载,请注明出处:https://lx.yfdxs.com/zh-tw/1427.html
龍霄

龍霄

Lv1Rec2
以 Nuxt.js 之力,煥新 WordPress 體驗
207.77W119
載入中…
分享:
1
Nuxt 4 中 Naive UI 整合與 UnoCSS 原子化樣式實戰
Nuxt 4 中 Naive UI 整合與 UnoCSS 原子化樣式實戰上一篇
Nuxt 4 + WordPress GraphQL:資料管理策略與效能最佳化深度指南下一篇
Nuxt 4 + WordPress GraphQL:資料管理策略與效能最佳化深度指南
相关文章
總數:17
龍霄主題-電商與會員一體化產品外掛:讓內容變現從[能賣]到[賣得好]

龍霄主題-電商與會員一體化產品外掛:讓內容變現從[能賣]到[賣得好]

一套完整的電商交易鏈路,配合多級會員權限體系——從商品展示、購物車、優惠券到訂單支付,從免費試讀到 VIP 專屬內容,用系統化的商業工具把你的知…
龍霄龍霄Nuxt.js繁体, WordPress繁体3个月前003.89K0
Nitro 服務端架構:安全代理層與效能引擎深度解析

Nitro 服務端架構:安全代理層與效能引擎深度解析

這道隱形的「圍牆」將 WordPress 後端完全隔離在公網之外,同時透過多層快取、請求去重和智慧重試,為前端提供穩定、高效、安全的資料服務。…
龍霄龍霄Nuxt.js繁体4个月前003.26K0
Nuxt.js Headless WordPress 專案中的資料快取最佳化策略

Nuxt.js Headless WordPress 專案中的資料快取最佳化策略

在 Headless WordPress + Nuxt.js 的架構中,WordPress 作為內容後端透過 REST API 提供資料,Nux…
龍霄龍霄Nuxt.js繁体, WordPress繁体1个月前00710
Nuxt 3 專案中整合 AI API 實現智慧內容生成與多語言翻譯

Nuxt 3 專案中整合 AI API 實現智慧內容生成與多語言翻譯

隨著大型語言模型(LLM)技術的飛速發展,越來越多的 Web 應用開始整合 AI 能力——從智慧客服、內容摘要到自動翻譯,AI 正在重塑前端開發…
龍霄龍霄Nuxt.js繁体1个月前00950
Nuxt 4 國際化 i18n 架構與多語言路由策略

Nuxt 4 國際化 i18n 架構與多語言路由策略

本文完整呈現基於 @nuxtjs/i18n v10 的三語言(zh-CN/zh-TW/en)國際化方案,從 prefix_except_defa…
龍霄龍霄Nuxt.js繁体, Vue.js繁体4个月前002.85K0
擁抱現代Web開發:Nuxt.js + WordPress 架構革新指南

擁抱現代Web開發:Nuxt.js + WordPress 架構革新指南

一、效能優化:靜態生成與動態渲染的完美平衡在當今快節奏的數位時代,網站效能直接關係到用戶體驗和業務轉化。傳統的WordPress主題開發…
龍霄龍霄Nuxt.js繁体, WordPress繁体4个月前005.46K0
一鍵智能·三語通達:龍霄AI翻譯如何讓多語言網站管理效率翻倍

一鍵智能·三語通達:龍霄AI翻譯如何讓多語言網站管理效率翻倍

一、痛點:多語言網站管理的「三座大山」運營一個中文(簡體)、中文(繁體)和英文三語並行的網站,開發者與內容管理者每天都要面對三大難題:…
龍霄龍霄Nuxt.js繁体, Vue.js繁体, WordPress繁体2个月前001050
Nuxt 4 + WordPress GraphQL:資料管理策略與效能最佳化深度指南

Nuxt 4 + WordPress GraphQL:資料管理策略與效能最佳化深度指南

本文深入剖析基於 Nuxt 4 + WordPress GraphQL 的生產級資料層架構,從服務端 SHA-256 快取代理、飛行中請求去重、…
龍霄龍霄Nuxt.js繁体, Vue.js繁体, WordPress繁体4个月前003.80K0
Nuxt 4 中 Naive UI 整合與 UnoCSS 原子化樣式實戰

Nuxt 4 中 Naive UI 整合與 UnoCSS 原子化樣式實戰

本文詳解如何在 Nuxt 4 專案中高效整合 Naive UI 元件庫與 UnoCSS 原子化 CSS 引擎,涵蓋自動匯入設定、SSR 樣式收集…
Nuxt.js繁体, Vue.js繁体4个月前004.71K0
Nuxt.js + WordPress 架構:效能、速度、安全與快取的全方位解析

Nuxt.js + WordPress 架構:效能、速度、安全與快取的全方位解析

當 Nuxt.js 的現代化前端工程能力遇上 WordPress 強大的內容管理生態,兩者透過 Headless 架構結合,打造出一套兼顧極致效…
龍霄龍霄Nuxt.js繁体, WordPress繁体3个月前002.74K0
活動外掛-活動管理外掛:從策劃到落地,一站式活動營運解決方案

活動外掛-活動管理外掛:從策劃到落地,一站式活動營運解決方案

一場成功的活動,背後是場地管理、嘉賓邀約、報名簽到、票務結算的複雜協作。活動管理外掛將全流程數位化——從活動建立、嘉賓管理、線上報名到現場簽到,…
龍霄龍霄Nuxt.js繁体, WordPress繁体3个月前002.86K0
龍霄主題-知識付費課程外掛:核心功能與學習黏性提升策略

龍霄主題-知識付費課程外掛:核心功能與學習黏性提升策略

在知識經濟時代,如何將專業知識轉化為可持續的線上課程產品?本文深入解析基於 Nuxt.js + WordPress 架構的知識付費課程外掛,從核…
龍霄龍霄Nuxt.js繁体, WordPress繁体3个月前003.20K0
评论表单游客 您好,欢迎参与讨论。
載入中…
评论列表
總數:0
龍霄
沒有相關內容