Vue+Vite项目封装 svg 组件,使用阿里巴巴矢量图标

一、装插件

// 1、先执行这条命令
npm i fast-glob -D
// 2、再执行这条命令
npm i vite-plugin-svg-icons -D

二、创建SVG组件

如图所示创建文件,并写入如下代码

在这里插入图片描述

<script setup lang="ts">
import { computed } from "vue";
 
const props = defineProps({
  iconClass: {
    type: String,
    required: true,
  },
  className: {
    type: String,
    default: "",
  },
  iconColor: {
    type: String,
    default: "CurrentColor",
  },
});
const iconName = computed(() => `#icon-${props.iconClass}`);
const svgClass = computed(() => {
  if (props.className) {
    return "svg-icon " + props.className;
  } else {
    return "svg-icon";
  }
});
</script>
<template>
  <svg :class="svgClass" aria-hidden="true" :fill="iconColor">
    <use :xlink:href="iconName" />
  </svg>
</template>
 
<style scoped>
.svg-icon {
  // svg 图标默认宽高,根据个人使用情况自行调整
  width: 20px;
  height: 20px;
  fill: currentColor;
  overflow: hidden;
}
</style>

二、main.ts中全局注册

import { createApp } from 'vue'
import App from './App.vue'

// svg 相关
import 'virtual:svg-icons-register'
import SvgIcon from './components/svgIcon/index.vue'

// 导入 pinia
import { createPinia } from 'pinia'
// 创建 pinia 实例
const pinia = createPinia()
app
  .component('svg-icon', SvgIcon)
  .use(pinia)
  .mount('#app');

在这里插入图片描述

三、来到 vite.config.ts

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from "path";

// svg plugin
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'

export default defineConfig({
  plugins: [
    vue(),
    // 修改 svg 相关配置
    createSvgIconsPlugin({
      // 指定需要缓存的图标文件夹
      iconDirs: [path.resolve(__dirname, './src/assets/svg')],
    })],
})

在这里插入图片描述

四、在代码中使用

  <svg-icon icon-class="close" />

在这里插入图片描述

五、注意点

若想修改 svg 的颜色,记得将 svg图片代码中的 fill属性删除删除

在这里插入图片描述
在这里插入图片描述

六、我如何使用svg

我平时用的比较多的就是 阿里巴巴矢量图库,具体操作如下动图。

在这里插入图片描述

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
使用 Vue.js、Vite 和 Next.js 进行项目开发时,可以按照以下流程进行: 1. 确定项目需求:首先,明确项目的需求和目标,确定所需的功能和设计。 2. 创建项目使用命令行工具或者 Vue CLI 创建项目。可以使用以下命令创建一个基于 Vue.js 和 Vite项目: ```bash npm init @vitejs/app my-vue-project --template vue ``` 这将创建一个名为 `my-vue-project` 的目录,并在其中初始化一个基本的 Vue.js + Vite 项目。 3. 配置项目:根据项目需求,配置项目的相关设置。可以在项目根目录下的 `vite.config.js` 文件中进行配置,例如设置代理、自定义构建配置等。 4. 开发页面和组件:根据项目需求,使用 Vue.js 的组件化开发方式创建页面和组件。可以在 `src` 目录下创建相应的 Vue 组件。 5. 路由配置:如果需要使用路由功能,可以选择使用 Vue Router 或者 Next.js 的路由功能进行配置。根据项目需求,在路由配置文件中定义页面的路由规则。 6. 数据管理:如果需要进行数据管理,可以选择使用 Vuex 或者其他状态管理库进行配置和管理应用状态。 7. 样式编写:使用 CSS 或者预处理器(如 SCSS、Less)为页面和组件编写样式。可以在组件内部使用 `<style>` 标签或者单独的样式文件进行样式编写。 8. 构建和打包:使用构建工具对项目进行构建和打包。Vite 在开发环境中使用即时编译,而在生产环境中使用 Rollup 打包。 9. 部署项目:根据项目需求,选择合适的部署方式将项目部署到服务器或者云平台上。 以上是一个基本的 Vue.js + Vite + Next.js 项目开发流程,具体的实现和细节可能会根据项目需求而有所不同。在开发过程中,可以参考相关文档和示例代码来更好地理解和使用这些技术栈。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

礼貌而已

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值