vue3 新建文件store自动导入

  1. store下新增个index.js用来做自动导入(pinia使用可参考之前这篇文章
javascript 复制代码
//使用pinia来管理全局状态
import { createPinia } from 'pinia'
// 自动导入所有 store 文件
const modulesFiles = import.meta.glob('./modules/*.js', { eager: true })
const stores = {}

for (const path in modulesFiles) {
  const moduleName = path.replace(/^\.\/modules\/(.*)\.\w+$/, '$1')
  stores[moduleName] = modulesFiles[path].default
}
// 安装所有 store
export const setupStore = (app) => {
  const pinia = createPinia()
  app.use(pinia)
  // 注册所有 store
  Object.keys(stores).forEach(key => {
    if (stores[key] && typeof stores[key] === 'function') {
      stores[key]()
    }
  })
  
  return pinia
}
// 导出所有 store
export default stores
  1. mian.js引入setupStore文件
javascript 复制代码
import { setupStore } from './store'
const app = createApp(App)
setupStore(app)
相关推荐
2601_962071579 小时前
【Java报错已解决】org.springframework.beans.factory.BeanCreationException
java·开发语言
支支დ9 小时前
VO by Vercel 前端特定优势:为什么它是构建 AI 应用的新范式
前端·人工智能
香芋芋圆10 小时前
AI 冲击内卷之下,普通前端如何破局?WebGIS—— 低门槛突围赛道
前端·javascript·人工智能·学习·职场发展
INS_KF10 小时前
【编程笔记】成员函数中两个 const 的区别(const Data &getData() const;)
前端·javascript·笔记
淡海水10 小时前
07-04-并发-ConcurrentBag-T-工作窃取WorkStealing算法
开发语言·算法·c#·bag·concurrent·workstealing
宿67411 小时前
vue3-async
前端·javascript·vue.js
CS_Zero11 小时前
C语言sizeof是函数吗?
c语言·开发语言
YXWik611 小时前
记录前端请求接口在浏览器请求响应的Preview和Response展示的一样的问题
前端
2501_9289962211 小时前
GPT-4o换DeepSeek迁移成本多少?中科热备解析API聚合平台技术账本
前端·数据库·人工智能
东风破_11 小时前
从跨域到 WebSocket:前端跨域方案、SSE 与双向实时通信详解
前端·后端