perf: add aotu components
This commit is contained in:
parent
cbb6a37924
commit
3e1ce8b76a
|
@ -38,8 +38,8 @@
|
|||
"echarts-wordcloud": "^2.0.0",
|
||||
"element-plus": "2.2.21",
|
||||
"intro.js": "^6.0.0",
|
||||
"jsencrypt": "^3.3.1",
|
||||
"js-cookie": "^3.0.1",
|
||||
"jsencrypt": "^3.3.1",
|
||||
"lodash-es": "^4.17.21",
|
||||
"mitt": "^3.0.0",
|
||||
"nprogress": "^0.2.0",
|
||||
|
@ -94,6 +94,7 @@
|
|||
"stylelint-config-standard": "^29.0.0",
|
||||
"stylelint-order": "^5.0.0",
|
||||
"typescript": "4.8.4",
|
||||
"unplugin-vue-components": "^0.22.9",
|
||||
"unplugin-vue-macros": "^0.16.3",
|
||||
"vite": "3.2.4",
|
||||
"vite-plugin-compression": "^0.5.1",
|
||||
|
|
|
@ -59,6 +59,7 @@ specifiers:
|
|||
stylelint-config-standard: ^29.0.0
|
||||
stylelint-order: ^5.0.0
|
||||
typescript: 4.8.4
|
||||
unplugin-vue-components: ^0.22.9
|
||||
unplugin-vue-macros: ^0.16.3
|
||||
url: ^0.11.0
|
||||
vite: 3.2.4
|
||||
|
@ -150,6 +151,7 @@ devDependencies:
|
|||
stylelint-config-standard: 29.0.0_stylelint@14.15.0
|
||||
stylelint-order: 5.0.0_stylelint@14.15.0
|
||||
typescript: 4.8.4
|
||||
unplugin-vue-components: 0.22.9_rollup@3.3.0+vue@3.2.45
|
||||
unplugin-vue-macros: 0.16.3_drqowttw7xgwfzqyhu6wuedde4
|
||||
vite: 3.2.4_mp5lu76ee5qtwstsyca37sdhqi
|
||||
vite-plugin-compression: 0.5.1_vite@3.2.4
|
||||
|
@ -963,6 +965,21 @@ packages:
|
|||
picomatch: 2.3.1
|
||||
dev: true
|
||||
|
||||
/@rollup/pluginutils/5.0.2_rollup@3.3.0:
|
||||
resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
peerDependencies:
|
||||
rollup: ^1.20.0||^2.0.0||^3.0.0
|
||||
peerDependenciesMeta:
|
||||
rollup:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@types/estree': 1.0.0
|
||||
estree-walker: 2.0.2
|
||||
picomatch: 2.3.1
|
||||
rollup: 3.3.0
|
||||
dev: true
|
||||
|
||||
/@sxzz/popperjs-es/2.11.7:
|
||||
resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==}
|
||||
dev: false
|
||||
|
@ -6829,6 +6846,32 @@ packages:
|
|||
vite: 3.2.4_mp5lu76ee5qtwstsyca37sdhqi
|
||||
dev: true
|
||||
|
||||
/unplugin-vue-components/0.22.9_rollup@3.3.0+vue@3.2.45:
|
||||
resolution: {integrity: sha512-qBvooq3EgpjtYicxeccRUGUBBQCCw9rJ0kHPZPOSJd8TBZViSv86vuKLTRDHPyjWtclwOIkVStZJfPdJFhYUMw==}
|
||||
engines: {node: '>=14'}
|
||||
peerDependencies:
|
||||
'@babel/parser': ^7.15.8
|
||||
vue: 2 || 3
|
||||
peerDependenciesMeta:
|
||||
'@babel/parser':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@antfu/utils': 0.6.0
|
||||
'@rollup/pluginutils': 5.0.2_rollup@3.3.0
|
||||
chokidar: 3.5.3
|
||||
debug: 4.3.4
|
||||
fast-glob: 3.2.12
|
||||
local-pkg: 0.4.2
|
||||
magic-string: 0.26.7
|
||||
minimatch: 5.1.0
|
||||
resolve: 1.22.1
|
||||
unplugin: 0.10.2
|
||||
vue: 3.2.45
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/unplugin-vue-define-options/0.12.7:
|
||||
resolution: {integrity: sha512-relFORVPLDs4dd3ogEti5YyAqQ62XEieRgLu/OrDIRZdSZQ942pydf9ilfLFiFwCUt+EES/2Xl4EERtgP1T/og==}
|
||||
engines: {node: '>=14.19.0'}
|
||||
|
|
|
@ -0,0 +1,83 @@
|
|||
// generated by unplugin-vue-components
|
||||
// We suggest you to commit this file into source control
|
||||
// Read more: https://github.com/vuejs/core/pull/3399
|
||||
import '@vue/runtime-core'
|
||||
|
||||
export {}
|
||||
|
||||
declare module '@vue/runtime-core' {
|
||||
export interface GlobalComponents {
|
||||
Backtop: typeof import('./components/Backtop/src/Backtop.vue')['default']
|
||||
Breadcrumb: typeof import('./components/Breadcrumb/src/Breadcrumb.vue')['default']
|
||||
Collapse: typeof import('./components/Collapse/src/Collapse.vue')['default']
|
||||
ColorRadioPicker: typeof import('./components/Setting/src/components/ColorRadioPicker.vue')['default']
|
||||
ConfigGlobal: typeof import('./components/ConfigGlobal/src/ConfigGlobal.vue')['default']
|
||||
ContentDetailWrap: typeof import('./components/ContentDetailWrap/src/ContentDetailWrap.vue')['default']
|
||||
ContentWrap: typeof import('./components/ContentWrap/src/ContentWrap.vue')['default']
|
||||
ContextMenu: typeof import('./components/ContextMenu/src/ContextMenu.vue')['default']
|
||||
CountTo: typeof import('./components/CountTo/src/CountTo.vue')['default']
|
||||
Crontab: typeof import('./components/Crontab/src/Crontab.vue')['default']
|
||||
Descriptions: typeof import('./components/Descriptions/src/Descriptions.vue')['default']
|
||||
Dialog: typeof import('./components/Dialog/src/Dialog.vue')['default']
|
||||
DictTag: typeof import('./components/DictTag/src/DictTag.vue')['default']
|
||||
Echart: typeof import('./components/Echart/src/Echart.vue')['default']
|
||||
Editor: typeof import('./components/Editor/src/Editor.vue')['default']
|
||||
ElButton: typeof import('element-plus/es')['ElButton']
|
||||
ElCard: typeof import('element-plus/es')['ElCard']
|
||||
ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
|
||||
ElCol: typeof import('element-plus/es')['ElCol']
|
||||
ElForm: typeof import('element-plus/es')['ElForm']
|
||||
ElFormItem: typeof import('element-plus/es')['ElFormItem']
|
||||
ElInput: typeof import('element-plus/es')['ElInput']
|
||||
ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
|
||||
ElOption: typeof import('element-plus/es')['ElOption']
|
||||
ElRadioButton: typeof import('element-plus/es')['ElRadioButton']
|
||||
ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
|
||||
ElRow: typeof import('element-plus/es')['ElRow']
|
||||
ElSelect: typeof import('element-plus/es')['ElSelect']
|
||||
ElSwitch: typeof import('element-plus/es')['ElSwitch']
|
||||
ElTag: typeof import('element-plus/es')['ElTag']
|
||||
ElTransfer: typeof import('element-plus/es')['ElTransfer']
|
||||
ElTree: typeof import('element-plus/es')['ElTree']
|
||||
ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect']
|
||||
ElUpload: typeof import('element-plus/es')['ElUpload']
|
||||
Error: typeof import('./components/Error/src/Error.vue')['default']
|
||||
Footer: typeof import('./components/Footer/src/Footer.vue')['default']
|
||||
Form: typeof import('./components/Form/src/Form.vue')['default']
|
||||
Highlight: typeof import('./components/Highlight/src/Highlight.vue')['default']
|
||||
Icon: typeof import('./components/Icon/src/Icon.vue')['default']
|
||||
IconSelect: typeof import('./components/Icon/src/IconSelect.vue')['default']
|
||||
IFrame: typeof import('./components/IFrame/src/IFrame.vue')['default']
|
||||
ImageViewer: typeof import('./components/ImageViewer/src/ImageViewer.vue')['default']
|
||||
Infotip: typeof import('./components/Infotip/src/Infotip.vue')['default']
|
||||
InputPassword: typeof import('./components/InputPassword/src/InputPassword.vue')['default']
|
||||
InterfaceDisplay: typeof import('./components/Setting/src/components/InterfaceDisplay.vue')['default']
|
||||
LayoutRadioPicker: typeof import('./components/Setting/src/components/LayoutRadioPicker.vue')['default']
|
||||
LocaleDropdown: typeof import('./components/LocaleDropdown/src/LocaleDropdown.vue')['default']
|
||||
Logo: typeof import('./components/Logo/src/Logo.vue')['default']
|
||||
Menu: typeof import('./components/Menu/src/Menu.vue')['default']
|
||||
Qrcode: typeof import('./components/Qrcode/src/Qrcode.vue')['default']
|
||||
RouterLink: typeof import('vue-router')['RouterLink']
|
||||
RouterView: typeof import('vue-router')['RouterView']
|
||||
Screenfull: typeof import('./components/Screenfull/src/Screenfull.vue')['default']
|
||||
Search: typeof import('./components/Search/src/Search.vue')['default']
|
||||
Setting: typeof import('./components/Setting/src/Setting.vue')['default']
|
||||
SizeDropdown: typeof import('./components/SizeDropdown/src/SizeDropdown.vue')['default']
|
||||
Sticky: typeof import('./components/Sticky/src/Sticky.vue')['default']
|
||||
Table: typeof import('./components/Table/src/Table.vue')['default']
|
||||
TabMenu: typeof import('./components/TabMenu/src/TabMenu.vue')['default']
|
||||
TagsView: typeof import('./components/TagsView/src/TagsView.vue')['default']
|
||||
ThemeSwitch: typeof import('./components/ThemeSwitch/src/ThemeSwitch.vue')['default']
|
||||
Tooltip: typeof import('./components/Tooltip/src/Tooltip.vue')['default']
|
||||
UserInfo: typeof import('./components/UserInfo/src/UserInfo.vue')['default']
|
||||
Verify: typeof import('./components/Verifition/src/Verify.vue')['default']
|
||||
VerifyPoints: typeof import('./components/Verifition/src/Verify/VerifyPoints.vue')['default']
|
||||
VerifySlide: typeof import('./components/Verifition/src/Verify/VerifySlide.vue')['default']
|
||||
XButton: typeof import('./components/XButton/src/XButton.vue')['default']
|
||||
XModal: typeof import('./components/XModal/src/XModal.vue')['default']
|
||||
XTextButton: typeof import('./components/XButton/src/XTextButton.vue')['default']
|
||||
}
|
||||
export interface ComponentCustomProperties {
|
||||
vLoading: typeof import('element-plus/es')['ElLoadingDirective']
|
||||
}
|
||||
}
|
|
@ -103,11 +103,10 @@
|
|||
</template>
|
||||
<script setup lang="ts">
|
||||
import { useI18n } from '@/hooks/web/useI18n'
|
||||
import { ElInput, ElCard, ElTree, ElTreeSelect, ElSelect, ElOption } from 'element-plus'
|
||||
import { handleTree } from '@/utils/tree'
|
||||
import { onMounted, ref, unref, watch } from 'vue'
|
||||
import * as DeptApi from '@/api/system/dept'
|
||||
import { Form, FormExpose } from '@/components/Form'
|
||||
import { FormExpose } from '@/components/Form'
|
||||
import { modelSchema, rules } from './dept.data'
|
||||
import { DeptVO } from '@/api/system/dept/types'
|
||||
import { useMessage } from '@/hooks/web/useMessage'
|
||||
|
|
|
@ -159,11 +159,9 @@ import { ref, unref, onMounted } from 'vue'
|
|||
import { DICT_TYPE } from '@/utils/dict'
|
||||
import { useI18n } from '@/hooks/web/useI18n'
|
||||
import { FormExpose } from '@/components/Form'
|
||||
import { ElInput, ElTag } from 'element-plus'
|
||||
import * as DictTypeSchemas from './dict.type'
|
||||
import * as DictDataSchemas from './dict.data'
|
||||
import { useTable } from '@/hooks/web/useTable'
|
||||
import { ElCard, ElMessage } from 'element-plus'
|
||||
import * as DictTypeApi from '@/api/system/dict/dict.type'
|
||||
import * as DictDataApi from '@/api/system/dict/dict.data'
|
||||
import { DictDataVO, DictTypeVO } from '@/api/system/dict/types'
|
||||
|
|
|
@ -247,20 +247,7 @@
|
|||
import { onMounted, reactive, ref } from 'vue'
|
||||
import { useI18n } from '@/hooks/web/useI18n'
|
||||
import { useMessage } from '@/hooks/web/useMessage'
|
||||
import {
|
||||
ElRow,
|
||||
ElCol,
|
||||
ElForm,
|
||||
ElFormItem,
|
||||
ElInput,
|
||||
ElInputNumber,
|
||||
ElSelect,
|
||||
ElTreeSelect,
|
||||
ElOption,
|
||||
ElRadioGroup,
|
||||
ElRadioButton,
|
||||
FormInstance
|
||||
} from 'element-plus'
|
||||
import { FormInstance } from 'element-plus'
|
||||
import { Tooltip } from '@/components/Tooltip'
|
||||
import { IconSelect } from '@/components/Icon'
|
||||
import { VxeTableInstance } from 'vxe-table'
|
||||
|
|
|
@ -143,25 +143,16 @@
|
|||
</template>
|
||||
<script setup lang="ts">
|
||||
import { onMounted, reactive, ref, unref } from 'vue'
|
||||
import {
|
||||
ElForm,
|
||||
ElFormItem,
|
||||
ElSelect,
|
||||
ElOption,
|
||||
ElTree,
|
||||
ElCard,
|
||||
ElSwitch,
|
||||
ElTag
|
||||
} from 'element-plus'
|
||||
import { DICT_TYPE, getDictOptions } from '@/utils/dict'
|
||||
import { ElTree } from 'element-plus'
|
||||
import { useI18n } from '@/hooks/web/useI18n'
|
||||
import { useMessage } from '@/hooks/web/useMessage'
|
||||
import { useVxeGrid } from '@/hooks/web/useVxeGrid'
|
||||
import { FormExpose } from '@/components/Form'
|
||||
import { rules, allSchemas } from './role.data'
|
||||
import { VxeGridInstance } from 'vxe-table'
|
||||
import { handleTree } from '@/utils/tree'
|
||||
import { SystemDataScopeEnum } from '@/utils/constants'
|
||||
import { useVxeGrid } from '@/hooks/web/useVxeGrid'
|
||||
import { VxeGridInstance } from 'vxe-table'
|
||||
import { DICT_TYPE, getDictOptions } from '@/utils/dict'
|
||||
import { rules, allSchemas } from './role.data'
|
||||
import * as RoleApi from '@/api/system/role'
|
||||
import { listSimpleMenusApi } from '@/api/system/menu'
|
||||
import { listSimpleDeptApi } from '@/api/system/dept'
|
||||
|
@ -170,6 +161,7 @@ import type {
|
|||
PermissionAssignRoleDataScopeReqVO,
|
||||
PermissionAssignRoleMenuReqVO
|
||||
} from '@/api/system/permission/types'
|
||||
|
||||
const { t } = useI18n() // 国际化
|
||||
const message = useMessage() // 消息弹窗
|
||||
// 列表相关的变量
|
||||
|
|
|
@ -114,7 +114,7 @@
|
|||
<script setup lang="ts">
|
||||
import { onMounted, ref, unref } from 'vue'
|
||||
import dayjs from 'dayjs'
|
||||
import { ElMessage, ElTag, ElSelect, ElOption } from 'element-plus'
|
||||
import { useMessage } from '@/hooks/web/useMessage'
|
||||
import { DICT_TYPE } from '@/utils/dict'
|
||||
import { useTable } from '@/hooks/web/useTable'
|
||||
import { useI18n } from '@/hooks/web/useI18n'
|
||||
|
@ -122,7 +122,9 @@ import { FormExpose } from '@/components/Form'
|
|||
import type { SensitiveWordVO } from '@/api/system/sensitiveWord/types'
|
||||
import { rules, allSchemas } from './sensitiveWord.data'
|
||||
import * as SensitiveWordApi from '@/api/system/sensitiveWord'
|
||||
|
||||
const { t } = useI18n() // 国际化
|
||||
const message = useMessage() // 消息弹窗
|
||||
|
||||
// ========== 列表相关 ==========
|
||||
const { register, tableObject, methods } = useTable<SensitiveWordVO>({
|
||||
|
@ -180,10 +182,10 @@ const submitForm = async () => {
|
|||
data.tags = tags.value
|
||||
if (actionType.value === 'create') {
|
||||
await SensitiveWordApi.createSensitiveWordApi(data)
|
||||
ElMessage.success(t('common.createSuccess'))
|
||||
message.success(t('common.createSuccess'))
|
||||
} else {
|
||||
await SensitiveWordApi.updateSensitiveWordApi(data)
|
||||
ElMessage.success(t('common.updateSuccess'))
|
||||
message.success(t('common.updateSuccess'))
|
||||
}
|
||||
// 操作成功,重新加载列表
|
||||
dialogVisible.value = false
|
||||
|
|
|
@ -118,7 +118,6 @@ import { useMessage } from '@/hooks/web/useMessage'
|
|||
import { useVxeGrid } from '@/hooks/web/useVxeGrid'
|
||||
import { VxeGridInstance } from 'vxe-table'
|
||||
import { FormExpose } from '@/components/Form'
|
||||
import { ElForm, ElFormItem, ElInput } from 'element-plus'
|
||||
// 业务相关的 import
|
||||
import * as SmsTemplateApi from '@/api/system/sms/smsTemplate'
|
||||
import { rules, allSchemas } from './sms.template.data'
|
||||
|
|
|
@ -124,17 +124,19 @@
|
|||
<script setup lang="ts">
|
||||
import { ref, unref, onMounted } from 'vue'
|
||||
import dayjs from 'dayjs'
|
||||
import { ElMessage, ElTag, ElSelect, ElOption } from 'element-plus'
|
||||
import { DICT_TYPE } from '@/utils/dict'
|
||||
import { useTable } from '@/hooks/web/useTable'
|
||||
import { useI18n } from '@/hooks/web/useI18n'
|
||||
import { useMessage } from '@/hooks/web/useMessage'
|
||||
import { FormExpose } from '@/components/Form'
|
||||
import type { TenantVO } from '@/api/system/tenant/types'
|
||||
import { rules, allSchemas } from './tenant.data'
|
||||
import * as TenantApi from '@/api/system/tenant'
|
||||
import { getTenantPackageList } from '@/api/system/tenantPackage'
|
||||
import { TenantPackageVO } from '@/api/system/tenantPackage/types'
|
||||
|
||||
const { t } = useI18n() // 国际化
|
||||
const message = useMessage() // 消息弹窗
|
||||
|
||||
// ========== 列表相关 ==========
|
||||
const { register, tableObject, methods } = useTable<TenantVO>({
|
||||
|
@ -205,11 +207,11 @@ const submitForm = async () => {
|
|||
if (actionType.value === 'create') {
|
||||
data.expireTime = dayjs(data.expireTime).valueOf().toString()
|
||||
await TenantApi.createTenantApi(data)
|
||||
ElMessage.success(t('common.createSuccess'))
|
||||
message.success(t('common.createSuccess'))
|
||||
} else {
|
||||
data.expireTime = dayjs(data.expireTime).valueOf().toString()
|
||||
await TenantApi.updateTenantApi(data)
|
||||
ElMessage.success(t('common.updateSuccess'))
|
||||
message.success(t('common.updateSuccess'))
|
||||
}
|
||||
// 操作成功,重新加载列表
|
||||
dialogVisible.value = false
|
||||
|
|
|
@ -94,13 +94,16 @@ import { handleTree } from '@/utils/tree'
|
|||
import { DICT_TYPE } from '@/utils/dict'
|
||||
import { useTable } from '@/hooks/web/useTable'
|
||||
import { useI18n } from '@/hooks/web/useI18n'
|
||||
import { useMessage } from '@/hooks/web/useMessage'
|
||||
import { FormExpose } from '@/components/Form'
|
||||
import { TenantPackageVO } from '@/api/system/tenantPackage/types'
|
||||
import { ElMessage, ElCard, ElSwitch, ElTree } from 'element-plus'
|
||||
import { rules, allSchemas } from './tenantPackage.data'
|
||||
import * as TenantPackageApi from '@/api/system/tenantPackage'
|
||||
import { listSimpleMenusApi } from '@/api/system/menu'
|
||||
|
||||
import { ElTree } from 'element-plus'
|
||||
const { t } = useI18n() // 国际化
|
||||
const message = useMessage() // 消息弹窗
|
||||
|
||||
const defaultProps = {
|
||||
children: 'children',
|
||||
|
@ -174,10 +177,10 @@ const submitForm = async () => {
|
|||
data.menuIds = treeRef.value!.getCheckedKeys(false) as string[]
|
||||
if (actionType.value === 'create') {
|
||||
await TenantPackageApi.createTenantPackageTypeApi(data)
|
||||
ElMessage.success(t('common.createSuccess'))
|
||||
message.success(t('common.createSuccess'))
|
||||
} else {
|
||||
await TenantPackageApi.updateTenantPackageTypeApi(data)
|
||||
ElMessage.success(t('common.updateSuccess'))
|
||||
message.success(t('common.updateSuccess'))
|
||||
}
|
||||
// 操作成功,重新加载列表
|
||||
dialogVisible.value = false
|
||||
|
|
|
@ -237,23 +237,6 @@
|
|||
</template>
|
||||
<script setup lang="ts">
|
||||
import { nextTick, onMounted, reactive, ref, unref, watch } from 'vue'
|
||||
import {
|
||||
ElTag,
|
||||
ElInput,
|
||||
ElCard,
|
||||
ElTree,
|
||||
ElTreeSelect,
|
||||
ElSelect,
|
||||
ElOption,
|
||||
ElTransfer,
|
||||
ElForm,
|
||||
ElFormItem,
|
||||
ElUpload,
|
||||
ElSwitch,
|
||||
ElCheckbox,
|
||||
UploadInstance,
|
||||
UploadRawFile
|
||||
} from 'element-plus'
|
||||
import { handleTree } from '@/utils/tree'
|
||||
import { useI18n } from '@/hooks/web/useI18n'
|
||||
import { FormExpose } from '@/components/Form'
|
||||
|
@ -272,6 +255,7 @@ import { getAccessToken, getTenantId } from '@/utils/auth'
|
|||
import { useMessage } from '@/hooks/web/useMessage'
|
||||
import { VxeGridInstance } from 'vxe-table'
|
||||
import { useVxeGrid } from '@/hooks/web/useVxeGrid'
|
||||
import { ElTree, UploadInstance, UploadRawFile } from 'element-plus'
|
||||
|
||||
const { t } = useI18n() // 国际化
|
||||
const message = useMessage() // 消息弹窗
|
||||
|
|
|
@ -34,6 +34,6 @@
|
|||
],
|
||||
"typeRoots": ["./node_modules/@types/", "./types"]
|
||||
},
|
||||
"include": ["src/**/*", "types/**/*.d.ts"],
|
||||
"include": ["src/**/*", "types/**/*.d.ts", "src/auto-components.d.ts"],
|
||||
"exclude": ["dist", "node_modules"]
|
||||
}
|
||||
|
|
|
@ -6,6 +6,8 @@ import WindiCSS from 'vite-plugin-windicss'
|
|||
import VueJsx from '@vitejs/plugin-vue-jsx'
|
||||
import EslintPlugin from 'vite-plugin-eslint'
|
||||
import VueI18n from '@intlify/vite-plugin-vue-i18n'
|
||||
import Components from 'unplugin-vue-components/vite'
|
||||
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
|
||||
import { createStyleImportPlugin, ElementPlusResolve, VxeTableResolve } from 'vite-plugin-style-import'
|
||||
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
|
||||
import PurgeIcons from 'vite-plugin-purge-icons'
|
||||
|
@ -70,6 +72,20 @@ export default ({ command, mode }: ConfigEnv): UserConfig => {
|
|||
return `vxe-table/es/${name}/style.css`
|
||||
}
|
||||
}]
|
||||
}),
|
||||
Components({
|
||||
// 要搜索组件的目录的相对路径
|
||||
dirs: ['src/components'],
|
||||
// 组件的有效文件扩展名
|
||||
extensions: ['vue', 'md'],
|
||||
// 搜索子目录
|
||||
deep: true,
|
||||
include: [/\.vue$/, /\.vue\?vue/],
|
||||
// 生成自定义 `auto-components.d.ts` 全局声明
|
||||
dts: 'src/auto-components.d.ts',
|
||||
// 自定义组件的解析器
|
||||
resolvers: [ElementPlusResolver()],
|
||||
exclude: [/[\\/]node_modules[\\/]/]
|
||||
}),
|
||||
EslintPlugin({
|
||||
cache: false,
|
||||
|
|
Loading…
Reference in New Issue