SVG 工具

Vue SVG 组件生成器

将SVG文件转换为Vue组件。生成Vue SFC,包含用于尺寸、颜色的响应式属性、作用域样式和TypeScript支持。

svgvuecomponenttemplatevue.js

SVG to Vue Component

Options

API Style
<script setup lang="ts">
import { computed } from 'vue';

interface Props {
  size?: number | string;
  width?: number | string;
  height?: number | string;
  fill?: string;
  stroke?: string;
  className?: string;
}

const props = withDefaults(defineProps<Props>(), {
  fill: 'currentColor',
  stroke: 'currentColor',
});

const computedWidth = computed(() => props.size || props.width || 24);
const computedHeight = computed(() => props.size || props.height || 24);
</script>

<template>
  <svg viewBox="0 0 24 24" :width="computedWidth" :height="computedHeight" :fill="fill" :stroke="stroke" :class="className" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2L2 7l10 5 10-5-10-5z"/>
  <path d="M2 17l10 5 10-5"/>
  <path d="M2 12l10 5 10-5"/>
  </svg>
</template>

<style scoped>
svg { display: inline-block; vertical-align: middle; }
</style>

What is Vue SVG 组件生成器?

Vue SVG组件生成器是一款在线代码生成工具,可将原始可缩放矢量图形(SVG)标记转换为整洁惯用的Vue 3单文件组件(SFC),可在Vue、Nuxt和Vite应用程序中使用。在Vue模板中使用原始内联SVG有效但不可重用:组件缺少用于尺寸、填充和描边颜色的可配置属性,不遵循Vue约定(如连字符大小写属性处理),不支持作用域样式,并且通常缺少aria-label和role等可访问性属性。本生成器生成结构正确的Vue SFC,包含template、script和可选的style块。工具自动为Vue模板准备SVG标记,添加响应式属性(包括宽度、高度、填充颜色、描边颜色、描边宽度和回退class属性),同时生成Composition API script setup和Options API变体,在选中时包含TypeScript支持(带有类型化的属性接口),可选应用作用域样式块,并添加带有可自定义标签的适当可访问性属性。其他选项包括接受CSS自定义属性以进行主题集成、使用Vue 3 defineProps将SVG作为功能组件发出,以及可选添加viewBox规范化和尺寸回退。生成的组件代码与语法高亮一起并排显示SVG渲染的实时预览,并包含一键复制按钮以及作为.vue SFC文件的下载选项。所有代码生成在浏览器本地运行,SVG数据不会上传到外部服务器。

When to Use Vue SVG 组件生成器

用于为Vue 3或Nuxt项目构建可重用的Vue图标库、将SVG插图导入Vue应用程序、为TypeScript Vue代码库生成类型化SVG组件、为Vue设计系统准备SVG资源,或避免大量图标的手动SVG到模板转换。

How to Use Vue SVG 组件生成器

粘贴SVG标记或上传SVG文件。选择Vue API样式(Composition API script setup或Options API)。切换TypeScript支持和可访问性属性。配置要暴露哪些属性(宽度、高度、填充、描边等)。在渲染的SVG旁边预览生成的.vue组件。将代码复制到剪贴板或下载为.vue单文件组件。