first commit

This commit is contained in:
muzi
2025-06-16 14:42:26 +08:00
commit 6f06721506
149 changed files with 56883 additions and 0 deletions

View File

@ -0,0 +1,57 @@
/**
* 自动引入组件
* */
import { kebabCase } from 'unplugin-vue-components';
import Components from 'unplugin-vue-components/vite';
import { ArcoResolver } from 'unplugin-vue-components/resolvers';
import IconsResolver from 'unplugin-icons/resolver';
import { getSep, getPath, setResolve, layoutsResolver } from '../utils';
export function configComponents() {
return Components({
dirs: ['src/components'],
extensions: ['vue'],
resolvers: [
ArcoResolver({
resolveIcons: {
enable: true,
},
sideEffect: true,
}),
IconsResolver({
prefix: false,
customCollections: ['i'],
enabledCollections: [],
}),
layoutsResolver(),
{
type: 'component',
resolve: (name) => {
const [prefix, folder] = kebabCase(name).split('-');
// 命名导出组件
if (prefix === 'eos') {
return {
name: name.slice(3),
from: getPath(`${getSep('src')}/components`, { folder }),
};
}
// 默认导出组件
if (prefix === 'eo') {
return setResolve(name);
}
if (prefix === 'base') {
return {
name: name.slice(4),
from: `${getSep('src')}/components/_base`,
};
}
},
},
],
directoryAsNamespace: true,
dts: './config/unplugin/components.d.ts',
});
}