vite+vue3搭建的工程實現(xiàn)批量導(dǎo)入store的module
vite+vue3搭建的工程批量導(dǎo)入store的module
src\store文件夾下index.ts
import { createStore } from 'vuex' const modulesFiles = import.meta.glob('./modules/*.ts', { eager: true }) const modules: any = {} for (const path in modulesFiles) { const moduleName = path.replace(/^\.\/modules\/(.*)\.\w+$/, '$1') modules[moduleName] = (modulesFiles[path] as any).default } const store = createStore({ modules }) export default store
問題的關(guān)鍵
是如何引入模塊內(nèi)的文件
const modules = import.meta.glob('./dir/*.js', { eager: true })
一開始沒加第二個參數(shù),一直都是動態(tài)加載,創(chuàng)建完了store模塊才被附上值,然后改為這樣的寫法
const modulesFiles = import.meta.globEager('./modules/*.ts')
但是globEager的寫法已經(jīng)廢棄,強迫癥發(fā)作一定要改
如下圖:
但是可以點擊去查看
官網(wǎng)上也有解釋
匹配到的文件默認是懶加載的,通過動態(tài)導(dǎo)入實現(xiàn),并會在構(gòu)建時分離為獨立的 chunk。
如果你傾向于直接引入所有的模塊(例如依賴于這些模塊中的副作用首先被應(yīng)用)
你可以傳入 { eager: true } 作為第二個參數(shù)
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue項目中如何實現(xiàn)element-ui組件按需引入
這篇文章主要介紹了vue項目中如何實現(xiàn)element-ui組件按需引入,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05Vuex modules模式下mapState/mapMutations的操作實例
這篇文章主要介紹了Vuex modules 模式下 mapState/mapMutations 的操作實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10vue3+element-plus動態(tài)路由菜單示例代碼
這篇文章主要介紹了vue3+element-plus動態(tài)路由菜單示例代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-11-11