feat: 前端搭建

This commit is contained in:
Gsh
2025-06-17 22:37:37 +08:00
parent 4830be6388
commit 0cd795f57a
1228 changed files with 23627 additions and 1 deletions

View File

@@ -0,0 +1,39 @@
import type { ConfigEnv, PluginOption } from 'vite';
import path from 'node:path';
import vue from '@vitejs/plugin-vue';
import UnoCSS from 'unocss/vite';
import AutoImport from 'unplugin-auto-import/vite';
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers';
import Components from 'unplugin-vue-components/vite';
import envTyped from 'vite-plugin-env-typed';
import createSvgIcon from './svg-icon';
const root = path.resolve(__dirname, '../../');
function plugins({ mode, command }: ConfigEnv): PluginOption[] {
return [
UnoCSS(),
envTyped({
mode,
envDir: root,
envPrefix: 'VITE_',
filePath: path.join(root, 'types', 'import_meta.d.ts'),
}),
vue(),
AutoImport({
imports: ['vue'],
eslintrc: {
enabled: true,
},
resolvers: [ElementPlusResolver()],
dts: path.join(root, 'types', 'auto-imports.d.ts'),
}),
Components({
resolvers: [ElementPlusResolver()],
dts: path.join(root, 'types', 'components.d.ts'),
}),
createSvgIcon(command === 'build'),
];
}
export default plugins;

View File

@@ -0,0 +1,21 @@
import path from 'node:path';
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons';
const root = path.resolve(__dirname, '../../');
export default function createSvgIcon(isBuild: boolean) {
return createSvgIconsPlugin({
iconDirs: [
path.join(root, 'src/assets/icons/svg'),
path.join(root, 'src/assets/icons/Buildings'),
path.join(root, 'src/assets/icons/Business'),
path.join(root, 'src/assets/icons/Device'),
path.join(root, 'src/assets/icons/Document'),
path.join(root, 'src/assets/icons/Others'),
path.join(root, 'src/assets/icons/System'),
path.join(root, 'src/assets/icons/User'),
],
symbolId: 'icon-[dir]-[name]',
svgoOptions: isBuild,
});
}