@Lirrr
Учусь вебу

Почему gulp таск работает некорректно?

Пытаюсь собрать svg спрайт из нескольких svg файлов.
Если ввести в терминале gulp svgSpriteBuild, то таск создает пустой файл symbol_sprite.html, не добавляя туда иконки, а должно их туда добавлять, оборачивать тегами symbol и убирать fill. Буду признателен, если подскажете, что я делаю не так?

Код:

gulp.task('svgSpriteBuild', function () {
	return gulp.src('#src/img/iconsprite/*.svg')
		// minify svg
		.pipe(svgmin({
			js2svg: {
				pretty: true
			}
		}))
		// remove all fill and style declarations in out shapes
		.pipe(cheerio({
			run: function ($) {
				$('[fill]').removeAttr('fill');
				$('[style]').removeAttr('style');
			},
			parserOptions: { xmlMode: true }
		}))
		// cheerio plugin create unnecessary string '>', so replace it.
		.pipe(replace('>', '>'))
		// build svg sprite
		.pipe(svgSprite({
				mode: "symbols",
				preview: false,
				selector: "icon-%f",
				svg: {
					symbols: 'symbol_sprite.html'
				}
			}
		))
		.pipe(gulp.dest('#src/'));
});


Структура папок:
#src/
____img/
_______iconsprite/ (там все svg иконки)
____scss/
index.html
symbol_sprite.html
dist/
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы