diff --git a/package.json b/package.json index 5898d86..0ad399a 100644 --- a/package.json +++ b/package.json @@ -29,10 +29,11 @@ "@types/nprogress": "^0.2.0", "@types/path-browserify": "^1.0.0", "@vitejs/plugin-vue": "^1.9.3", + "fast-glob": "^3.2.11", "sass": "^1.43.4", "typescript": "^4.4.3", "vite": "^2.6.4", - "vite-plugin-svg-icons": "^1.1.0", + "vite-plugin-svg-icons": "^2.0.1", "vue-tsc": "^0.3.0" } } diff --git a/src/main.ts b/src/main.ts index 8046f46..e5c254a 100644 --- a/src/main.ts +++ b/src/main.ts @@ -10,6 +10,7 @@ import 'element-plus/theme-chalk/index.css' import Pagination from '@/components/Pagination/index.vue' import '@/permission' +// 引入svg注册脚本 import 'virtual:svg-icons-register'; // 国际化 diff --git a/tsconfig.json b/tsconfig.json index 31bd024..1b976aa 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -16,6 +16,7 @@ }, "allowSyntheticDefaultImports": true, // 默认导入 "skipLibCheck": true, // 不对第三方依赖类型检查 ,element-plus 生产打包报错 + "types": ["vite-plugin-svg-icons/client"] }, "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"] } diff --git a/vite.config.ts b/vite.config.ts index e8d5316..3a27aad 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,10 +1,10 @@ -import {UserConfig, ConfigEnv, loadEnv} from 'vite' +import { UserConfig, ConfigEnv, loadEnv } from 'vite' import vue from '@vitejs/plugin-vue' -import viteSvgIcons from 'vite-plugin-svg-icons'; +import { createSvgIconsPlugin } from 'vite-plugin-svg-icons' import path from 'path' // @see: https://gitee.com/holysheng/vite2-config-description/blob/master/vite.config.ts -export default ({command, mode}: ConfigEnv): UserConfig => { +export default ({ command, mode }: ConfigEnv): UserConfig => { // 获取 .env 环境配置文件 const env = loadEnv(mode, process.cwd()) @@ -12,11 +12,11 @@ export default ({command, mode}: ConfigEnv): UserConfig => { { plugins: [ vue(), - viteSvgIcons({ + createSvgIconsPlugin({ // 指定需要缓存的图标文件夹 iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')], // 指定symbolId格式 - symbolId: 'icon-[dir]-[name]', + symbolId: 'icon-[dir]-[name]' }) ],