You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
1.1 KiB
JavaScript

/*
* @description: 批量导入所有右侧配置组件
* @Date: 2023-03-13 10:04:58
* @Author: xing.heng
* @LastEditors: xing.heng
* @LastEditTime: 2023-05-17 13:18:36
*/
const modules = {}
const replaceName = {}
// 排除的组件
const excludeCommponents = [] // 有的话就添加进去
function importComponentSetting (files) {
files.keys().filter(key => {
return key.match(/setting/)
}).forEach(key => {
// 正则,取到./和/之间的字符串
const reg = new RegExp('(.\\/)(.*)(\\/)')
let moduleName = key.match(reg)[0].replace(/(\.\/)|(\/)/g, '')
// 替换组件名称
if (replaceName[moduleName]) {
moduleName = replaceName[moduleName]
}
// 去掉排除的组件
if (!excludeCommponents.includes(moduleName)) {
modules[moduleName] = files(key).default
}
})
}
importComponentSetting(require.context('data-room-ui/BasicComponents', true, /\.vue$/))
importComponentSetting(require.context('data-room-ui/Borders', true, /\.vue$/))
importComponentSetting(require.context('data-room-ui/Decorations', true, /\.vue$/))
export default modules