vite-plugin-svg-spritegen
v1.4.5
Published
Vite plugin that generates an svg spritesheet, optionally removing unused svg files.
Maintainers
Readme
vite-plugin-svg-spritegen
Installation
npm install -D vite-plugin-svg-spritegenUsage
// vite.config.js
import { svgSpritegen } from 'vite-plugin-svg-spritegen';
export default {
plugins: [
svgSpritegen({
input: [
{
baseDir: 'src/assets/icons',
},
{
baseDir: 'node_modules/lucide-static/icons',
removeAttrs: ['class', 'stroke-width', 'stroke-linecap', 'stroke-linejoin']
}
],
outputDir: 'src/assets/icons'
})
],
};Example Icon Component
import spriteHref from '~/assets/icons/sprite.svg';
import type { FC, SVGProps } from 'react';
import type { IconName } from '~/assets/icons/types';
export const IconBase: FC<SVGProps<SVGSVGElement> & { icon: IconName }> = ({ icon, ...props }) => {
return (
<svg {...props}>
<use href={`${spriteHref}#${icon}`} />
</svg>
);
};Usage Example
<Icon icon="plus" />