1.0.10 • Published 8 months ago

imba-lazy-module v1.0.10

Weekly downloads
-
License
ISC
Repository
-
Last release
8 months ago

懒加载 module/*

安装

# pnpm
pnpm i imba-lazy

使用

vite list
// vite list
const moduleArray = import.meta.glob('./module/*.js')
webpack list
// webpack list
// 获取module文件下子模块内容
const modulesFiles = require.context('./module', true, /\.js$/)
const moduleArray = modulesFiles.keys().reduce((module, modulePath) => {
 const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
 module[moduleName] = modulesFiles(modulePath).default
 return module
}, {})
import { setFileList, getFileList, lazyModule, registerModule } from 'imba-lazy'

// 设置缓存
setFileList('testFileList', moduleArray)

// 读取缓存
const cache = getFileList('testFileList')

// 根据缓存加载fileList
lazyModule({ fileName: 't4', fileType: 'js', fileKey: 'testFileList' })

// 根据缓存注册fileList
registerModule({ fileNames: ['t1', 't2', 't3'], fileType: 'ts', fileKey: 'testFileList' })

// 加载模块
lazyModule({ fileName: 't1', fileType: 'js', moduleFiles: moduleArray }).then((res) => {
    console.log('res', res)
})

// 注册多个模块 加载所有完成后一起返回
registerModule({ fileNames: ['t1', 't2', 't3'], fileType: 'ts', moduleFiles: moduleArray }).then((res) => {
    console.log('res', res)
})

函数

lazyModule

registerModule