Webpack 和 Vite 模块自动化导出
在modules(例如:vuex, route的模块化)的index.js中键入以下代码可以自动化导出文件夹内全部模块
webpack
const files = require.context('.', false, /\.js$/)
const modules = {}
files.keys().forEach(key => {
if (key === './index.js') return
modules[key.replace(/(\.\/|\.js)/g, '')] = files(key).default
})
export default modules
vite
const allModules = import.meta.globEager('./*')
const modules = {}
Object.keys(allModules).forEach(key => {
modules[key.replace(/(\.\/|\.js)/g, '')] = allModules[key].default
})
export default modules
为之则易,不为则难。