Sto scrivendo un plugin che crea uno sprite SVG. Globisce sulle directory, unisce i file SVG in un'immagine e restituisce il risultato. L'idea è di creare dinamicamente un modulo (che contiene immagini unite) in modo che altri moduli possano richiederlo come un modulo usuale. O forse puoi suggerire una soluzione più elegante?Webpack crea dinamicamente un modulo
Config
{
plugins: [
new SvgSpritePlugin({
sprites: {
icons: 'images/svg/icons/*.svg',
logos: 'images/svg/logos/*.svg',
socials: 'images/svg/logos/{twitter,youtube,facebook}.svg',
}
})
]
}
Da qualche parte nell'applicazione
var logosSprite = require('sprite/logos'); // require dynamically created module
document.body.appendChild(logoSprite);
Sto provando a fare una cosa simile. Mi piacerebbe sapere come iniettare un modulo da un plugin. – 4m1r
Hai provato [webpack-svgstore-plugin] (https://github.com/lgordey/webpack-svgstore-plugin)? Sembra che risolva lo stesso problema. – Kreozot
@Kreozot svgstore-plugin fa una cosa diversa - emette risorse durante la compilazione del webpack. Voglio lavorare con svg come con i moduli regolari e creare solo i file richiesti. Scrivo [svg-sprite-loader] (http://github.com/kisenka/webpack-svg-sprite-loader) (altamente sperimentale). – kisenka