mirror of
				https://github.com/soybeanjs/soybean-admin.git
				synced 2025-11-04 15:53:43 +08:00 
			
		
		
		
	feat(projects): 插件方式按需引入naiveUI
This commit is contained in:
		@@ -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);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user