安装pinia
yarn add pinia @pinia/nuxt
# 或者使用 npm
npm install pinia @pinia/nut
安装pinia-plugin-persistedstate
npm : npm i pinia-plugin-persistedstate
yarn : yarn add pinia-plugin-persistedstate
nuxt工程代码中注册插件plugins\pinia.ts
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
export default defineNuxtPlugin((nuxtApp) => {
nuxtApp.$pinia.use(piniaPluginPersistedstate)
})
配置nuxt.config.ts中的modules
modules: [
'@pinia/nuxt'
],
定义一个stores\user.ts
import {
defineStore, } from 'pinia'
const {
userApi } = useApi();
export interface UserState {
isLogin: Boolean,
userInfo: Object
}
// useStore 可以任意,比如 useUser, useCart
// 参数1是整个应用中唯一的store id
export const userStore = defineStore('user', {
state: (): UserState => ({
isLogin: false,
userInfo: {
}
}),