laravel-mix-svg-sprite
SVG sprite component for Laravel Mix, wrapping SVG sprite loader and SVGO loader.
Install
Install with npm:
$ npm install --save-dev laravel-mix-svg-sprite
Usage
This component adds an extra API to Mix to create a SVG sprite of separate SVG files.
It can be used just like the other API's of Mix:
let mix = require('laravel-mix');
require('laravel-mix-svg-sprite');
mix
.js('src', 'output')
.sass('src', 'output')
.svgSprite(
'src/icons',
'output/sprite.svg',
[loaderOptions],
[pluginOptions]
);
N.B. This component only adds a loader to the Webpack configuration, it doesn't glob your directory and include every file it finds.
You need to require the icons from within your code (JS, CSS, etc.) just like other modules to have them added to the sprite!
Configuration
The config of this component is passed directly to svg-sprite-loader and its plugin.
Please refer to their documentation for further details.
This are our defaults:
Config.svgSprite = {
loaderOptions: {
extract: true
},
pluginOptions: {
plainSprite: true
}
};
Configuration for SVGO is copied from Config.imgLoaderOptions.svgo
.
If you disable SVGO for the image-loader, it is also disabled for this component.
Change log
Please see CHANGELOG for more information on what has changed recently.
Testing
$ npm test
Contributing
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
Security
If you discover any security related issues, please email security@swis.nl instead of using the issue tracker.
Credits
This component is a wrapper for SVG sprite loader and SVGO loader, so a huge thanks to their contributors!
License
The MIT License (MIT). Please see License File for more information.
SWIS
SWIS is a web agency from Leiden, the Netherlands. We love working with open source software.