Nuxt.js 状态管理(使用 Pinia)
Pinia 是 Vue 官方推荐的状态管理库,也已成为 Nuxt 3 默认支持的状态管理方案。在这篇文章中,你将学会如何在 Nuxt 项目中启用并使用 Pinia,轻松实现应用中的全局状态管理。
启用 Pinia
Pinia 是 Vue 生态中的现代状态管理库,它提供了简单直观的 API、优秀的类型推导支持,并且默认支持 Vue Devtools。相比于旧的 Vuex,Pinia 更轻量、易用、模块化。
从 Nuxt 3 开始,Pinia 已内置支持,默认可直接使用。也就是说,你只需创建 stores
目录,Nuxt 会自动安装和配置好 Pinia 插件,你无需手动引入或安装。
注意
如果没有安装自动安装 Pinia 插件,可以手动安装:
npm install @pinia/nuxt
并确保 @pinia/nuxt
插件已添加到 modules
:
nuxt.config.ts
export default defineNuxtConfig({
modules: ['@pinia/nuxt']
})
创建目录:
mkdir stores
然后在该目录下创建你的第一个 Store 文件,例如 stores/counter.ts
:
stores/counter.ts
export const useCounter = defineStore('counter', () => {
const count = ref(0)
function increment() {
count.value++
}
return { count, increment }
})