1) Editor 改 defineAsyncComponent,IEditorConfig 改 import type 2) dev server 绑定 :: 双栈,避免 Windows 下 localhost 走 ::1 超时 3) dev 脚本去掉 POSIX 环境变量前缀,Windows 可直接 pnpm dev
60 lines
1.4 KiB
TypeScript
60 lines
1.4 KiB
TypeScript
// Author: fruit.com.cn
|
|
|
|
import { defineAsyncComponent } from 'vue'
|
|
import type { Component } from 'vue'
|
|
import {
|
|
ElCascader,
|
|
ElCheckboxGroup,
|
|
ElColorPicker,
|
|
ElDatePicker,
|
|
ElInput,
|
|
ElInputNumber,
|
|
ElRadioGroup,
|
|
ElRate,
|
|
ElSelect,
|
|
ElSelectV2,
|
|
ElSlider,
|
|
ElSwitch,
|
|
ElTimePicker,
|
|
ElTimeSelect,
|
|
ElTransfer,
|
|
ElAutocomplete,
|
|
ElDivider,
|
|
ElTreeSelect,
|
|
ElUpload
|
|
} from 'element-plus'
|
|
import { InputPassword } from '@/components/InputPassword'
|
|
import { ComponentName } from '../types'
|
|
|
|
// wang-editor 打包后约 1.1MB:改成异步组件,只有真正渲染编辑器字段时才加载,
|
|
// 避免登录页这类只是用了 Form 的页面把它一并拉进首屏。
|
|
const Editor = defineAsyncComponent(() => import('@/components/Editor'))
|
|
|
|
const componentMap: Recordable<Component, ComponentName> = {
|
|
RadioGroup: ElRadioGroup,
|
|
RadioButton: ElRadioGroup,
|
|
CheckboxGroup: ElCheckboxGroup,
|
|
CheckboxButton: ElCheckboxGroup,
|
|
Input: ElInput,
|
|
Autocomplete: ElAutocomplete,
|
|
InputNumber: ElInputNumber,
|
|
Select: ElSelect,
|
|
Cascader: ElCascader,
|
|
Switch: ElSwitch,
|
|
Slider: ElSlider,
|
|
TimePicker: ElTimePicker,
|
|
DatePicker: ElDatePicker,
|
|
Rate: ElRate,
|
|
ColorPicker: ElColorPicker,
|
|
Transfer: ElTransfer,
|
|
Divider: ElDivider,
|
|
TimeSelect: ElTimeSelect,
|
|
SelectV2: ElSelectV2,
|
|
InputPassword: InputPassword,
|
|
Editor: Editor,
|
|
TreeSelect: ElTreeSelect,
|
|
Upload: ElUpload
|
|
}
|
|
|
|
export { componentMap }
|