2021-03-29 21:24:33 +08:00
|
|
|
|
// import store from '@/store'
|
2021-03-31 18:23:43 +08:00
|
|
|
|
|
|
|
|
|
import Vue from 'vue'
|
|
|
|
|
import upperFirst from 'lodash/upperFirst'
|
|
|
|
|
import camelCase from 'lodash/camelCase'
|
|
|
|
|
|
|
|
|
|
const requireComponent = require.context('./DeWidget', true, /\.vue$/)
|
|
|
|
|
|
|
|
|
|
requireComponent.keys().forEach(fileName => {
|
|
|
|
|
// 获取组件配置
|
|
|
|
|
const componentConfig = requireComponent(fileName)
|
|
|
|
|
// 这个地方直接传入filename其实就是内部会调用了resolve方法,会返回对应的文件内容(不理解可以console一下看看)
|
|
|
|
|
// 获取组件的 PascalCase 命名
|
|
|
|
|
const componentName = upperFirst(
|
|
|
|
|
camelCase(
|
|
|
|
|
// 获取和目录深度无关的文件名
|
|
|
|
|
fileName
|
|
|
|
|
.split('/')
|
|
|
|
|
.pop()
|
|
|
|
|
.replace(/\.\w+$/, '')
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// 全局注册组件
|
|
|
|
|
Vue.component(
|
|
|
|
|
componentName,
|
|
|
|
|
// 如果这个组件选项是通过 `export default` 导出的,
|
|
|
|
|
// 那么就会优先使用 `.default`,
|
|
|
|
|
// 否则回退到使用模块的根。
|
|
|
|
|
componentConfig.default || componentConfig
|
|
|
|
|
)
|
|
|
|
|
})
|
|
|
|
|
|
2021-04-19 16:50:31 +08:00
|
|
|
|
const req = require.context('./serviceImpl', false, /\.js$/)
|
|
|
|
|
// const req = require.context('./drawServiceImpl', false, /\.js$/)
|
2021-03-29 21:24:33 +08:00
|
|
|
|
const requireAll = requireContext => requireContext.keys()
|
|
|
|
|
|
|
|
|
|
const widgets = {}
|
|
|
|
|
requireAll(req).forEach(key => {
|
|
|
|
|
widgets[key.replace(/(\.\/|\.js)/g, '')] = req(key).default
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
export default widgets
|