refactor: replace the deprecate api of vite

This commit is contained in:
ahukpyu 2023-02-14 22:50:19 +08:00
parent 68b8809a1e
commit 413c17f4cd
3 changed files with 21 additions and 18 deletions

View File

@ -4,9 +4,9 @@ import { InformationList } from '@/packages/components/Informations/index'
import { TableList } from '@/packages/components/Tables/index'
import { PackagesCategoryEnum, PackagesType, ConfigType, FetchComFlagType } from '@/packages/index.d'
const configModules = import.meta.globEager('./components/**/config.vue')
const indexModules = import.meta.globEager('./components/**/index.vue')
const imagesModules = import.meta.globEager('../assets/images/chart/**')
const configModules = import.meta.glob('./components/**/config.vue')
const indexModules = import.meta.glob('./components/**/index.vue')
const imagesModules = import.meta.glob('../assets/images/chart/**')
// * 所有图表
export let packagesList: PackagesType = {
@ -31,12 +31,13 @@ export const createComponent = async (targetData: ConfigType) => {
* @param {string} chartName
* @param {FetchComFlagType} flag 0, 1
*/
const fetchComponent = (chartName: string, flag: FetchComFlagType) => {
const fetchComponent = async (chartName: string, flag: FetchComFlagType) => {
const module = flag === FetchComFlagType.VIEW ? indexModules : configModules
for (const key in module) {
const urlSplit = key.split('/')
if (urlSplit[urlSplit.length - 2] === chartName) {
return module[key]
const loader = module[key] as () => Promise<{ default: any }>
return (await loader()).default
}
}
}
@ -45,18 +46,18 @@ const fetchComponent = (chartName: string, flag: FetchComFlagType) => {
* *
* @param {ConfigType} dropData
*/
export const fetchChartComponent = (dropData: ConfigType) => {
export const fetchChartComponent = async (dropData: ConfigType) => {
const { key } = dropData
return fetchComponent(key, FetchComFlagType.VIEW)?.default
return await fetchComponent(key, FetchComFlagType.VIEW)
}
/**
* *
* @param {ConfigType} dropData
*/
export const fetchConfigComponent = (dropData: ConfigType) => {
export const fetchConfigComponent = async (dropData: ConfigType) => {
const { key } = dropData
return fetchComponent(key, FetchComFlagType.CONFIG)?.default
return await fetchComponent(key, FetchComFlagType.CONFIG)
}
/**
@ -74,7 +75,8 @@ export const fetchImages = async (targetData?: ConfigType) => {
for (const key in imagesModules) {
const urlSplit = key.split('/')
if (urlSplit[urlSplit.length - 1] === imageName) {
return imagesModules[key]?.default
const loader = imagesModules[key] as () => Promise<{ default: string }>
return (await loader()).default
}
}
return ''

View File

@ -68,14 +68,15 @@ const chartMode: Ref<ChartModeEnum> = computed(() => {
})
//
const dragStartHandle = (e: DragEvent, item: ConfigType) => {
//
componentInstall(item.chartKey, fetchChartComponent(item))
componentInstall(item.conKey, fetchConfigComponent(item))
const dragStartHandle = async (e: DragEvent, item: ConfigType) => {
//
e!.dataTransfer!.setData(DragKeyEnum.DRAG_KEY, JSONStringify(omit(item, ['image'])))
//
chartEditStore.setEditCanvas(EditCanvasTypeEnum.IS_CREATE, true)
//
componentInstall(item.chartKey, await fetchChartComponent(item))
componentInstall(item.conKey, await fetchConfigComponent(item))
}
//
@ -88,8 +89,8 @@ const dblclickHandle = async (item: ConfigType) => {
try {
loadingStart()
//
componentInstall(item.chartKey, fetchChartComponent(item))
componentInstall(item.conKey, fetchConfigComponent(item))
componentInstall(item.chartKey, await fetchChartComponent(item))
componentInstall(item.conKey, await fetchConfigComponent(item))
//
let newComponent: CreateComponentType = await createComponent(item)
//

View File

@ -149,8 +149,8 @@ const selectChartHandle = async (item: ConfigType) => {
try {
loadingStart()
//
componentInstall(item.chartKey, fetchChartComponent(item))
componentInstall(item.conKey, fetchConfigComponent(item))
componentInstall(item.chartKey, await fetchChartComponent(item))
componentInstall(item.conKey, await fetchConfigComponent(item))
//
let newComponent: CreateComponentType = await createComponent(item)
//