vite-plugin-svg
v0.7.0
Published
Use SVG files as Vue Components
Downloads
2,664
Maintainers
Readme
Features:
- SVGO optimization
- Hot Module Replacement support
- Default SVG import behavior support
Currently supported Vite version:
Install
yarn add --dev vite-plugin-svg
npm i -D vite-plugin-svg
Usage
Starting from v0.4.0
to use SVG file as a component, just import VueComponent
from the path of the file.
This gives you more control over how a particular SVG file should be loaded and processed:
// Get URL to SVG file
import myIconUrl from './svgs/my-icon.svg';
const img = document.createElement('img');
img.src = myIconUrl;
.my-icon {
/* Get URL to SVG file */
background-image: url("./svgs/my-icon.svg");
}
<template>
<div>
<MyIcon />
</div>
</template>
<script>
import { VueComponent as MyIcon } from './svgs/my-icon.svg';
export default {
components: {
MyIcon,
},
};
</script>
Setup
vite.config.js
const svgPlugin = require('vite-plugin-svg');
module.exports = {
plugins: [
svgPlugin(),
],
};
TODO:
- Convert plugin to TS
- Support disabling SVGO
- Basic test coverage