前言
本文代码是基于之前文章的代码补充的,本文将给大家描述如何在vite中使用svg
安装依赖
配置
在vite.config.ts中配置svgLoader,这里我还顺便开启了server的代理,方便调试
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| import { ConfigEnv, UserConfig } from 'vite'; import vue from '@vitejs/plugin-vue'; import svgLoader from 'vite-svg-loader'; import path from 'path';
const CWD = process.cwd();
export default ({ mode }: ConfigEnv): UserConfig => { return { plugins: [ vue(), svgLoader(), ], base: './', resolve: { alias: { '@': path.resolve(__dirname, './src'), }, }, server: { port: 8082, host: '0.0.0.0', }, }; };
|
使用
home.vue导入并使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| <template> <div class="user-info"> <div class="user-info-name"> 用户名:{{userStoreRef.username.value}} </div> <div class="user-info-role"> 权限:{{ userStoreRef.isAdmin.value}} </div> <div> svg使用:<vue-icon/> </div> </div> </template> <script setup lang="ts"> import { onMounted } from "vue"; import {useUserStore} from "@/store/index"; import VueIcon from '@/assets/vue.svg?component';
import {storeToRefs} from "pinia" const userStore = useUserStore(); const userStoreRef = storeToRefs(userStore); onMounted(()=>{ userStore.setValue({ username: 'admin', isAdmin: true }) }) </script> <style scoped lang="less"> .user-info{ &-name{ color:red; } &-role{ color:blue; } } </style>
|
本文就分享到这里了,封装代码我放在了我的git仓库下期再见!