Extend Vite with ability to use SVG files as Vue components.
This is a fixed version of vite-plugin-vue-svg
- SVGO optimization
- Hot Module Replacement support
- Support for
?url
and?component
query string
2.0.0-beta.61
yarn add --dev vite-plugin-vue-svg @vue/compiler-sfc
npm i -D vite-plugin-vue-svg @vue/compiler-sfc
// vite.config.js
const vue = require('@vitejs/plugin-vue');
const vueSvgPlugin = require('vite-plugin-vue-svg');
module.exports = {
plugins: [
vue(),
vueSvgPlugin(),
],
};
vueSvgPlugin({
// Default behavior when importing `.svg` files, possible options are: 'url' and `component`
defaultExport: 'url',
// SVGO configuration object
svgoConfig: {},
})
<template>
<div>
<MyIcon />
</div>
</template>
<script>
import MyIcon from './svgs/my-icon.svg?component';
export default {
components: {
MyIcon,
},
};
</script>