0.1.1 • Published 5 months ago

vite-plugin-svgtovue v0.1.1

Weekly downloads
-
License
ISC
Repository
-
Last release
5 months ago

vite-plugin-svgtovue

一个将SVG文件转化为Vue组件的插件,支持vue, jsx, tsx三种格式。

代码演示:
import pathe from 'node:path'
import svgComponent from 'vite-plugin-svgtovue'
import { defineConfig } from 'vite'

export default defineConfig({
  plugins: [
    svgComponent({
      input: pathe.join(__dirname, '../wwwsvg/'),
      output: './src/components/tri-icon/',
      suffix: 'ts',
      template: 'tsx',
      outputListPath: './src/components/tri-icon/list.ts',
    }),
  ],
})
生成代码目录
tri-icon目录:
		├─── src // 组件目录
		├─── index.html // 演示demo,展示列表
		├─── index.ts  
		├─── list.ts // SVG列表,一般用于展示所有SVG图标
插件参数列表
参数名称参数描述参数值默认值
inputSVG文件位置string必须
output组件输出位置string必须
prefix组件前缀stringtri
suffix组件导出前缀js, tsts
template生成vue组件的模版vue2,tsx,jsxvue3
templatePath自定义vue组件的模版string----
outputDemoPathdemo的输出路径string----
outputListPath列表的输出路径string----
组件引入使用
  1. 全局导入

    import { createApp } from 'vue'
    import App from './App.vue'
    import TriIcon from './components/tri-icon'
    
    createApp(App).use(TriIcon).mount('#app')
  2. 局部引用

    <script setup lang="ts">
    import TriUser from './components/tri-icon/src/TriUser.vue'
    </script>
    
    <template>
      <div class="tri-icon">
        <tri-icon size="28px" color="var(--color-white)" />
      </div>
    </template>