Использую
gulp svgstore для свг спрайтов.
var svgstore = require('svgstore');
var rename = require("gulp-rename");
gulp.task('svg-sprite', function(){
return gulp.src(['dist/img/svg/icon/**/*.svg', '!dist/svg/icon/sprite.svg'])
.pipe(svgstore({
inlineSvg: true
}))
.pipe(rename('sprite.svg'))
.pipe(gulp.dest('dist/img/svg/icon'))
});
Далее вставляю через svg -> use
<svg>
<use xlink:href="img/svg/icon/sprite.svg#id_свг_без_формата"></use>
</svg>
Например:
<svg>
<use xlink:href="img/svg/icon/sprite.svg#icon-top3"></use>
</svg>
id свг будет такой же, как и имя svg файла при сборке спрайта