У меня есть файл SVG, как это:глоток imagemin нарушения SVG маски
<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient gradientUnits="objectBoundingBox" id="gradient" x2="0" y2="1">
<stop stop-offset="0" stop-color="transparent" />
<stop stop-color="rgba(255, 255, 255, 0.25)" offset="1"/>
</linearGradient>
<mask id="mask" maskUnits="objectBoundingBox" maskContentUnits="objectBoundingBox" x="0" y="0" width="100%" height="100%">
<rect width="1" height="1" fill="url(#gradient)"/>
</mask>
</defs>
</svg>
Я использую Глоток-imagemin сжать все мои изображения, включая SVGs. Конкретная задача выглядит так:
gulp.task('images', function() {
return gulp.src('/src/img/**/*.*')
.pipe(imagemin().on('error', gutil.log))
.pipe(gulp.dest('/dist/img'));
});
Отлично подходит для большинства моих изображений. Однако для SVG файл выше, выход:
<svg xmlns="http://www.w3.org/2000/svg"><defs><linearGradient gradientUnits="objectBoundingBox" id="a" x2="0" y2="1"><stop stop-color="transparent"/><stop stop-color="rgba(255, 255, 255, 0.25)" offset="1"/></linearGradient></defs></svg>
Обратите внимание на mask
была удалена (что очень важно) и идентификатор изменен. Есть ли способ остановить это, или даже отключить сжатие SVG с помощью этого плагина? Я просмотрел документацию и не вижу пути.
@RobertLongson Нет, не думаю, что у меня есть что-то полезное. Я боюсь – Coop
Как насчет этого? http://stackoverflow.com/questions/38023039/using-gulp-to-create-an-svg-sprite-without-compression/38036872#38036872 –