vite+vue3搭建的工程實(shí)現(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 })
一開始沒加第二個(gè)參數(shù),一直都是動(dòng)態(tài)加載,創(chuàng)建完了store模塊才被附上值,然后改為這樣的寫法
const modulesFiles = import.meta.globEager('./modules/*.ts')
但是globEager的寫法已經(jīng)廢棄,強(qiáng)迫癥發(fā)作一定要改
如下圖:
但是可以點(diǎn)擊去查看
官網(wǎng)上也有解釋
匹配到的文件默認(rèn)是懶加載的,通過動(dòng)態(tài)導(dǎo)入實(shí)現(xiàn),并會(huì)在構(gòu)建時(shí)分離為獨(dú)立的 chunk。
如果你傾向于直接引入所有的模塊(例如依賴于這些模塊中的副作用首先被應(yīng)用)
你可以傳入 { eager: true } 作為第二個(gè)參數(shù)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue項(xiàng)目中路由懶加載的三種方式(簡(jiǎn)潔易懂)
本文主要介紹了vue項(xiàng)目中路由懶加載的三種方式,主要包括vue異步組件,組件懶加載,webpack的require.ensure(),具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01vue項(xiàng)目中如何實(shí)現(xiàn)element-ui組件按需引入
這篇文章主要介紹了vue項(xiàng)目中如何實(shí)現(xiàn)element-ui組件按需引入,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05Vuex modules模式下mapState/mapMutations的操作實(shí)例
這篇文章主要介紹了Vuex modules 模式下 mapState/mapMutations 的操作實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10vue3+element-plus動(dòng)態(tài)路由菜單示例代碼
這篇文章主要介紹了vue3+element-plus動(dòng)態(tài)路由菜單示例代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-11-11vue2.0實(shí)現(xiàn)前端星星評(píng)分功能組件實(shí)例代碼
本文通過實(shí)例代碼給大家介紹了vue2.0實(shí)現(xiàn)前端星星評(píng)分功能組件,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2018-02-02