咨询热线:15911225507
龙霄
登录
首页-所有文章-Nuxt.js英文,Vue.js英文-正文

Pinia State Persistence & Memory Governance in Nuxt 4

龙霄龙霄
Nuxt.js英文, Vue.js英文
1个月前
0
0
4.75K
A systematic walkthrough of state management across 25 Pinia Stores in a large Nuxt 4 project, covering shallowRef memory optimization, localStorage persistence whitelisting, route-level KeepAlive control, and a comprehensive memory profiling toolchain.
Complete guide to Pinia Store memory management, persistence strategies, and route-level KeepAlive control

1. Store Architecture

25 independent Pinia Stores across four categories:

CategoryStoresPurpose
ContentPostStore, ArchiveStore, SearchStore, DocumentStore, VideoStoreArticles/archives/search/docs/video
UserLoginStore, UserCenterStore, BookmarkStore, CommentStoreAuth/profile/bookmarks/comments
BusinessCartStore, ShopStore, ProductStore, OrderStore, PayStoreCart/shop/products/orders/payments
SystemGeneralStore, HeaderStore, BuilderStore, EventStoreConfig/header/builder/events

2. Pinia Persistence

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'] }
})

3. shallowRef Memory Optimization

// ❌ ref deeply wraps entire object tree
const posts = ref<Post[]>([])

// ✅ shallowRef only tracks reference changes
const posts = shallowRef<Post[]>([])

With 100 articles (~500KB): ref adds ~2MB overhead, shallowRef adds ~8KB — 250x less.

4. Route-Level KeepAlive

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

export default defineNuxtRouteMiddleware((to) => {
    if (shouldKeepAlive(to.path)) { to.meta.keepalive = { max: KEEPALIVE_MAX } }
})
RouteKeepAliveReason
/High-frequency
.html content pagesPreserve scroll position
/builderReal-time editing
/cartData freshness

5. Memory Governance Toolchain

pnpm memory:test    # Unit tests
pnpm memory:profile # Memory profiling (--expose-gc)
pnpm memory:load    # Load testing
pnpm memory:analyze # Log analysis

6. Summary

LayerMechanismControls
StoreshallowRefLarge arrays/objects
Persistencepaths whitelistKey fields only
RouteKeepAlive max=12High-frequency pages
CacheLRU budget500 entries / 32MB
标签:
本文原创,作者:龙霄,其版权均为龙霄所有。如需转载,请注明出处:https://lx.yfdxs.com/1426.html
龙霄

龙霄

Lv1Vip2Rec2
以 Nuxt.js 之力,焕新 WordPress 体验
127.53W1213.98W1W
加载中…
分享:
1
Nuxt 4 中 Naive UI 集成与 UnoCSS 原子化样式实战
Nuxt 4 中 Naive UI 集成与 UnoCSS 原子化样式实战上一篇
Nuxt 4 + WordPress GraphQL:数据管理策略与性能优化深度指南下一篇
Nuxt 4 + WordPress GraphQL:数据管理策略与性能优化深度指南
相关文章
总数:0
龙霄
没有相关内容
评论表单游客 您好,欢迎参与讨论。
加载中…
评论列表
总数:36
  • 萨龙龙
    萨龙龙
    作者
    为了解决“入园难,入园贵”的问题,将按照双线提高的思路,必须发挥公办园保基本、兜底线、引领方向、平衡价格主渠道作用。
  • 萨龙龙
    萨龙龙
    作者
    因此,如果按照目前对培训机构的监管方式,监管部门只能要求有资质的培训机构进行教育备案,并根据备案评估其培训内容是否超前,那么面对无证无照的机构,不可能要求其备案的这些机构。
    • 萨龙龙
      萨龙龙
      作者
      基本成规模的机构都有自主研发的直播服务平台和以专职为主、兼职为辅的线上教学老师。
      • 萨龙龙
        萨龙龙
        作者
        提高公办的资源,通过这样一个调整,既提高了普惠水平,也鼓励支持了普惠性民办园的发展
  • 萨龙龙
    萨龙龙
    作者
    目前立思辰大语文方面对这一事件尚未公开发声。
    • 萨龙龙
      萨龙龙
      作者
      如果用一个词来形容今年教育行业的热点,那无疑就是“整顿”。
  • 萨龙龙
    萨龙龙
    作者
    对此,舆论把责任推给家长不理性、培训机构逐利。
    • 萨龙龙
      萨龙龙
      作者
      可以说,通知再次对超纲教学进行了强调和声明。
    • 萨龙龙
      萨龙龙
      作者
      可是,校内减负的结果,却是学生校外增负,学校布置的作业少了,家长主动给孩子找作业。
  • 萨龙龙
    萨龙龙
    作者
    如果体制内的提前教学得不到治理,治理校外培训机构的提前教学就是一句空话。
    • 萨龙龙
      萨龙龙
      作者
      有道考神职业教育项目总监何义冬也表示其目前正在通过企业定制和效果包过的方式跟几家大型机构进行了合作,正在实施教学过程。
      • 萨龙龙
        萨龙龙
        作者
        首先需要找到“热”和“乱”的来源,“热”的原因找到了,“乱”又在哪里?
        • 萨龙龙
          萨龙龙
          作者
          学前教育小学化的现象怎么缓解,幼儿园教师的社会地位和待遇保障什么时候能得到进一步提高?
          龙霄
          龙霄
        • 萨龙龙
          萨龙龙
          作者
          一般来说,只有10%的老师从事过线上系统的教学。
          • 萨龙龙
            萨龙龙
            作者
            要在2020年前实现普惠性幼儿园覆盖率达到80%的目标是否设置太高,如何快速解决小区配套幼儿园存在的问题🧑🧑
            龙霄
            龙霄
          • 萨龙龙
            萨龙龙
            作者
            我们可以看到语文在中小学教学、乃至中高考中的分量和关注度持续攀升,甚至还流传出“得语文者得高考”的说辞。
            龙霄
            龙霄
  • 萨龙龙
    萨龙龙
    作者
    毕竟,语文是一门极其特殊的学科,除了詹研提到的效果差、进步慢之外,语文也并非依靠练习就可以迅速提高成绩、没办法通过集训方式呈现教学效果。
    • 萨龙龙
      萨龙龙
      作者
      也给营利性民办园留出了空间,不是民办园就不发展了,或者是遏制它的发展
  • 萨龙龙
    萨龙龙
    作者
    这不是明显的提前教学、超前教学吗?😁😁
    龙霄
    龙霄
    • 萨龙龙
      萨龙龙
      作者
      11月20日,有消息称“海淀教委出手,大语文或将面临更名”。
  • 萨龙龙
    萨龙龙
    作者
    我们也希望看到,在减负的号令吹响了数十载之后,孩子们即将迎来自由、健康成长的新时代。
  • 萨龙龙
    萨龙龙
    作者
    它需要具备的是推倒重来的勇气和势在必行的决心。
  • 萨龙龙
    萨龙龙
    作者
    但同时,我们也应该明白,改革是一个不破不立的过程。
1
2
跳至