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)
相关推荐
似水明俊德14 小时前
02-C#.Net-反射-面试题
开发语言·面试·职场和发展·c#·.net
漫随流水14 小时前
旅游推荐系统(view.py)
前端·数据库·python·旅游
Thera77715 小时前
C++ 高性能时间轮定时器:从单例设计到 Linux timerfd 深度优化
linux·开发语言·c++
踩着两条虫15 小时前
VTJ.PRO 核心架构全公开!从设计稿到代码,揭秘AI智能体如何“听懂人话”
前端·vue.js·ai编程
炘爚15 小时前
C语言(文件操作)
c语言·开发语言
阿蒙Amon15 小时前
C#常用类库-详解SerialPort
开发语言·c#
凸头16 小时前
CompletableFuture 与 Future 对比与实战示例
java·开发语言
wuqingshun31415916 小时前
线程安全需要保证几个基本特征
java·开发语言·jvm
Moksha26216 小时前
5G、VoNR基本概念
开发语言·5g·php
jzlhll12316 小时前
kotlin Flow first() last()总结
开发语言·前端·kotlin