feat(projects): 插件方式按需引入naiveUI
This commit is contained in:
parent
3fb13ca9e7
commit
6bed9ead38
@ -1,6 +1,7 @@
|
|||||||
import Icons from 'unplugin-icons/vite';
|
import Icons from 'unplugin-icons/vite';
|
||||||
import IconsResolver from 'unplugin-icons/resolver';
|
import IconsResolver from 'unplugin-icons/resolver';
|
||||||
import Components from 'unplugin-vue-components/vite';
|
import Components from 'unplugin-vue-components/vite';
|
||||||
|
import { NaiveUiResolver } from 'unplugin-vue-components/resolvers';
|
||||||
import { FileSystemIconLoader } from 'unplugin-icons/loaders';
|
import { FileSystemIconLoader } from 'unplugin-icons/loaders';
|
||||||
|
|
||||||
export default (srcPath: string) => {
|
export default (srcPath: string) => {
|
||||||
@ -15,7 +16,7 @@ export default (srcPath: string) => {
|
|||||||
}),
|
}),
|
||||||
Components({
|
Components({
|
||||||
dts: true,
|
dts: true,
|
||||||
resolvers: [IconsResolver({ customCollections: ['custom'], componentPrefix: 'icon' })]
|
resolvers: [NaiveUiResolver(), IconsResolver({ customCollections: ['custom'], componentPrefix: 'icon' })]
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
54
components.d.ts
vendored
54
components.d.ts
vendored
@ -13,9 +13,17 @@ declare module 'vue' {
|
|||||||
IconAntDesignCloseOutlined: typeof import('~icons/ant-design/close-outlined')['default']
|
IconAntDesignCloseOutlined: typeof import('~icons/ant-design/close-outlined')['default']
|
||||||
IconAntDesignEnterOutlined: typeof import('~icons/ant-design/enter-outlined')['default']
|
IconAntDesignEnterOutlined: typeof import('~icons/ant-design/enter-outlined')['default']
|
||||||
IconAntDesignSettingOutlined: typeof import('~icons/ant-design/setting-outlined')['default']
|
IconAntDesignSettingOutlined: typeof import('~icons/ant-design/setting-outlined')['default']
|
||||||
|
IconCustomActivity: typeof import('~icons/custom/activity')['default']
|
||||||
IconCustomAvatar: typeof import('~icons/custom/avatar')['default']
|
IconCustomAvatar: typeof import('~icons/custom/avatar')['default']
|
||||||
|
IconCustomBanner: typeof import('~icons/custom/banner')['default']
|
||||||
|
IconCustomCast: typeof import('~icons/custom/cast')['default']
|
||||||
|
IconCustomEmptyData: typeof import('~icons/custom/empty-data')['default']
|
||||||
IconCustomLogo: typeof import('~icons/custom/logo')['default']
|
IconCustomLogo: typeof import('~icons/custom/logo')['default']
|
||||||
IconCustomLogoFill: typeof import('~icons/custom/logo-fill')['default']
|
IconCustomLogoFill: typeof import('~icons/custom/logo-fill')['default']
|
||||||
|
IconCustomNetworkError: typeof import('~icons/custom/network-error')['default']
|
||||||
|
IconCustomNoPermission: typeof import('~icons/custom/no-permission')['default']
|
||||||
|
IconCustomNotFound: typeof import('~icons/custom/not-found')['default']
|
||||||
|
IconCustomServiceError: typeof import('~icons/custom/service-error')['default']
|
||||||
IconGridiconsFullscreen: typeof import('~icons/gridicons/fullscreen')['default']
|
IconGridiconsFullscreen: typeof import('~icons/gridicons/fullscreen')['default']
|
||||||
IconGridiconsFullscreenExit: typeof import('~icons/gridicons/fullscreen-exit')['default']
|
IconGridiconsFullscreenExit: typeof import('~icons/gridicons/fullscreen-exit')['default']
|
||||||
IconIcOutlineCheck: typeof import('~icons/ic/outline-check')['default']
|
IconIcOutlineCheck: typeof import('~icons/ic/outline-check')['default']
|
||||||
@ -29,6 +37,7 @@ declare module 'vue' {
|
|||||||
IconMdiPin: typeof import('~icons/mdi/pin')['default']
|
IconMdiPin: typeof import('~icons/mdi/pin')['default']
|
||||||
IconMdiPinOff: typeof import('~icons/mdi/pin-off')['default']
|
IconMdiPinOff: typeof import('~icons/mdi/pin-off')['default']
|
||||||
IconMdiRefresh: typeof import('~icons/mdi/refresh')['default']
|
IconMdiRefresh: typeof import('~icons/mdi/refresh')['default']
|
||||||
|
IconMdiWechat: typeof import('~icons/mdi/wechat')['default']
|
||||||
IconMdiWhiteBalanceSunny: typeof import('~icons/mdi/white-balance-sunny')['default']
|
IconMdiWhiteBalanceSunny: typeof import('~icons/mdi/white-balance-sunny')['default']
|
||||||
IconPhCaretDoubleLeftBold: typeof import('~icons/ph/caret-double-left-bold')['default']
|
IconPhCaretDoubleLeftBold: typeof import('~icons/ph/caret-double-left-bold')['default']
|
||||||
IconPhCaretDoubleRightBold: typeof import('~icons/ph/caret-double-right-bold')['default']
|
IconPhCaretDoubleRightBold: typeof import('~icons/ph/caret-double-right-bold')['default']
|
||||||
@ -38,6 +47,51 @@ declare module 'vue' {
|
|||||||
LoadingEmptyWrapper: typeof import('./src/components/business/LoadingEmptyWrapper.vue')['default']
|
LoadingEmptyWrapper: typeof import('./src/components/business/LoadingEmptyWrapper.vue')['default']
|
||||||
LoginAgreement: typeof import('./src/components/business/LoginAgreement.vue')['default']
|
LoginAgreement: typeof import('./src/components/business/LoginAgreement.vue')['default']
|
||||||
NaiveProvider: typeof import('./src/components/common/NaiveProvider.vue')['default']
|
NaiveProvider: typeof import('./src/components/common/NaiveProvider.vue')['default']
|
||||||
|
NBreadcrumb: typeof import('naive-ui')['NBreadcrumb']
|
||||||
|
NBreadcrumbItem: typeof import('naive-ui')['NBreadcrumbItem']
|
||||||
|
NButton: typeof import('naive-ui')['NButton']
|
||||||
|
NCard: typeof import('naive-ui')['NCard']
|
||||||
|
NCheckbox: typeof import('naive-ui')['NCheckbox']
|
||||||
|
NColorPicker: typeof import('naive-ui')['NColorPicker']
|
||||||
|
NConfigProvider: typeof import('naive-ui')['NConfigProvider']
|
||||||
|
NDataTable: typeof import('naive-ui')['NDataTable']
|
||||||
|
NDescriptions: typeof import('naive-ui')['NDescriptions']
|
||||||
|
NDescriptionsItem: typeof import('naive-ui')['NDescriptionsItem']
|
||||||
|
NDialogProvider: typeof import('naive-ui')['NDialogProvider']
|
||||||
|
NDivider: typeof import('naive-ui')['NDivider']
|
||||||
|
NDrawer: typeof import('naive-ui')['NDrawer']
|
||||||
|
NDrawerContent: typeof import('naive-ui')['NDrawerContent']
|
||||||
|
NDropdown: typeof import('naive-ui')['NDropdown']
|
||||||
|
NEmpty: typeof import('naive-ui')['NEmpty']
|
||||||
|
NForm: typeof import('naive-ui')['NForm']
|
||||||
|
NFormItem: typeof import('naive-ui')['NFormItem']
|
||||||
|
NGradientText: typeof import('naive-ui')['NGradientText']
|
||||||
|
NGrid: typeof import('naive-ui')['NGrid']
|
||||||
|
NGridItem: typeof import('naive-ui')['NGridItem']
|
||||||
|
NInput: typeof import('naive-ui')['NInput']
|
||||||
|
NInputGroup: typeof import('naive-ui')['NInputGroup']
|
||||||
|
NInputNumber: typeof import('naive-ui')['NInputNumber']
|
||||||
|
NList: typeof import('naive-ui')['NList']
|
||||||
|
NListItem: typeof import('naive-ui')['NListItem']
|
||||||
|
NLoadingBarProvider: typeof import('naive-ui')['NLoadingBarProvider']
|
||||||
|
NMenu: typeof import('naive-ui')['NMenu']
|
||||||
|
NMessageProvider: typeof import('naive-ui')['NMessageProvider']
|
||||||
|
NModal: typeof import('naive-ui')['NModal']
|
||||||
|
NNotificationProvider: typeof import('naive-ui')['NNotificationProvider']
|
||||||
|
NPopover: typeof import('naive-ui')['NPopover']
|
||||||
|
NScrollbar: typeof import('naive-ui')['NScrollbar']
|
||||||
|
NSelect: typeof import('naive-ui')['NSelect']
|
||||||
|
NSpace: typeof import('naive-ui')['NSpace']
|
||||||
|
NSpin: typeof import('naive-ui')['NSpin']
|
||||||
|
NStatistic: typeof import('naive-ui')['NStatistic']
|
||||||
|
NSwitch: typeof import('naive-ui')['NSwitch']
|
||||||
|
NTabPane: typeof import('naive-ui')['NTabPane']
|
||||||
|
NTabs: typeof import('naive-ui')['NTabs']
|
||||||
|
NTag: typeof import('naive-ui')['NTag']
|
||||||
|
NThing: typeof import('naive-ui')['NThing']
|
||||||
|
NTimeline: typeof import('naive-ui')['NTimeline']
|
||||||
|
NTimelineItem: typeof import('naive-ui')['NTimelineItem']
|
||||||
|
NTooltip: typeof import('naive-ui')['NTooltip']
|
||||||
SystemLogo: typeof import('./src/components/common/SystemLogo.vue')['default']
|
SystemLogo: typeof import('./src/components/common/SystemLogo.vue')['default']
|
||||||
WebSiteLink: typeof import('./src/components/custom/WebSiteLink.vue')['default']
|
WebSiteLink: typeof import('./src/components/custom/WebSiteLink.vue')['default']
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { createApp } from 'vue';
|
import { createApp } from 'vue';
|
||||||
import { setupAssets, setupNaiveUI } from '@/plugins';
|
import { setupAssets } from '@/plugins';
|
||||||
import { setupRouter } from '@/router';
|
import { setupRouter } from '@/router';
|
||||||
import { setupStore } from '@/store';
|
import { setupStore } from '@/store';
|
||||||
import { setupDirectives } from '@/directives';
|
import { setupDirectives } from '@/directives';
|
||||||
@ -17,9 +17,6 @@ async function setupApp() {
|
|||||||
// 挂载自定义vue指令
|
// 挂载自定义vue指令
|
||||||
setupDirectives(app);
|
setupDirectives(app);
|
||||||
|
|
||||||
// 按需引入naiveUI
|
|
||||||
setupNaiveUI(app);
|
|
||||||
|
|
||||||
// 挂载路由
|
// 挂载路由
|
||||||
await setupRouter(app);
|
await setupRouter(app);
|
||||||
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
import setupAssets from './assets';
|
import setupAssets from './assets';
|
||||||
import setupNaiveUI from './naive';
|
|
||||||
|
|
||||||
export { setupAssets, setupNaiveUI };
|
export { setupAssets };
|
||||||
|
@ -1,103 +0,0 @@
|
|||||||
import type { App } from 'vue';
|
|
||||||
import {
|
|
||||||
create,
|
|
||||||
NBreadcrumb,
|
|
||||||
NBreadcrumbItem,
|
|
||||||
NButton,
|
|
||||||
NCard,
|
|
||||||
NCheckbox,
|
|
||||||
NColorPicker,
|
|
||||||
NConfigProvider,
|
|
||||||
NDataTable,
|
|
||||||
NDescriptions,
|
|
||||||
NDescriptionsItem,
|
|
||||||
NDialogProvider,
|
|
||||||
NDivider,
|
|
||||||
NDrawer,
|
|
||||||
NDrawerContent,
|
|
||||||
NDropdown,
|
|
||||||
NEmpty,
|
|
||||||
NForm,
|
|
||||||
NFormItem,
|
|
||||||
NGradientText,
|
|
||||||
NGrid,
|
|
||||||
NGridItem,
|
|
||||||
NInput,
|
|
||||||
NInputGroup,
|
|
||||||
NInputNumber,
|
|
||||||
NList,
|
|
||||||
NListItem,
|
|
||||||
NLoadingBarProvider,
|
|
||||||
NModal,
|
|
||||||
NMenu,
|
|
||||||
NMessageProvider,
|
|
||||||
NNotificationProvider,
|
|
||||||
NPopover,
|
|
||||||
NScrollbar,
|
|
||||||
NSelect,
|
|
||||||
NSpace,
|
|
||||||
NStatistic,
|
|
||||||
NSwitch,
|
|
||||||
NSpin,
|
|
||||||
NTabs,
|
|
||||||
NTabPane,
|
|
||||||
NTag,
|
|
||||||
NThing,
|
|
||||||
NTimeline,
|
|
||||||
NTimelineItem,
|
|
||||||
NTooltip
|
|
||||||
} from 'naive-ui';
|
|
||||||
|
|
||||||
/** 按需引入naiveUI */
|
|
||||||
export default function setupNaiveUI(app: App) {
|
|
||||||
const naive = create({
|
|
||||||
components: [
|
|
||||||
NBreadcrumb,
|
|
||||||
NBreadcrumbItem,
|
|
||||||
NButton,
|
|
||||||
NCard,
|
|
||||||
NCheckbox,
|
|
||||||
NColorPicker,
|
|
||||||
NConfigProvider,
|
|
||||||
NDataTable,
|
|
||||||
NDescriptions,
|
|
||||||
NDescriptionsItem,
|
|
||||||
NDialogProvider,
|
|
||||||
NDivider,
|
|
||||||
NDrawer,
|
|
||||||
NDrawerContent,
|
|
||||||
NDropdown,
|
|
||||||
NEmpty,
|
|
||||||
NForm,
|
|
||||||
NFormItem,
|
|
||||||
NGradientText,
|
|
||||||
NGrid,
|
|
||||||
NGridItem,
|
|
||||||
NInput,
|
|
||||||
NInputGroup,
|
|
||||||
NInputNumber,
|
|
||||||
NList,
|
|
||||||
NListItem,
|
|
||||||
NLoadingBarProvider,
|
|
||||||
NModal,
|
|
||||||
NMenu,
|
|
||||||
NMessageProvider,
|
|
||||||
NNotificationProvider,
|
|
||||||
NPopover,
|
|
||||||
NScrollbar,
|
|
||||||
NSelect,
|
|
||||||
NSpace,
|
|
||||||
NStatistic,
|
|
||||||
NSwitch,
|
|
||||||
NSpin,
|
|
||||||
NTabs,
|
|
||||||
NTabPane,
|
|
||||||
NTag,
|
|
||||||
NThing,
|
|
||||||
NTimeline,
|
|
||||||
NTimelineItem,
|
|
||||||
NTooltip
|
|
||||||
]
|
|
||||||
});
|
|
||||||
app.use(naive);
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user