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)
相关推荐
FQNmxDG4S6 小时前
Java多线程编程:Thread与Runnable的并发控制
java·开发语言
ZC跨境爬虫6 小时前
跟着 MDN 学 HTML day_9:(信件语义标记)
前端·css·笔记·ui·html
前端老石人6 小时前
HTML 字符引用完全指南
开发语言·前端·html
matlab_xiaowang6 小时前
Redux 入门:JavaScript 可预测状态管理库
开发语言·javascript·其他·ecmascript
幼儿园技术家6 小时前
前端如何设计权限系统(RBAC / ABAC)?
前端
虹科网络安全6 小时前
艾体宝干货|数据复制详解:类型、原理与适用场景
java·开发语言·数据库
axng pmje7 小时前
Java语法进阶
java·开发语言·jvm
老前端的功夫7 小时前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
qq_435287927 小时前
第9章 夸父逐日与后羿射日:死循环与进程终止?十个太阳同时值班的并行冲突
java·开发语言·git·死循环·进程终止·并行冲突·夸父逐日
止语Lab7 小时前
从手动到框架:Go DI 演进的三个拐点
开发语言·后端·golang