@fantazerno

Как создать правило для Gulp task?

Есть таск для сборки SVG

gulp.task('svg', function () {
		var svgSrc = gulp.src(['app/img/svg/**.*','!app/img/svg/defs.svg','!app/img/svg/sprite.svg']);
		svgSrc
				.pipe(svgmin({
						js2svg: {
								pretty: true
						}
				}))
				.pipe(cheerio({
						run: function ($) {
								$('[fill]').removeAttr('fill'); //remove if need color icon
								$('[style]').removeAttr('style');
						},
						parserOptions: {xmlMode: true }
				}))
				.pipe(svgSprite( {
						mode:{
								symbol: true,
						}
				}))
				.pipe(rename("pack.html"))
				.pipe(gulp.dest('app/img/'))
				.pipe(gulp.dest('dist/img/'))

		svgSrc
				.pipe(svgSpriteTempl())
				.pipe(gulp.dest('app/img/'))
				.pipe(gulp.dest('dist/img/'))

		var  svgArray =[];
		fs.writeFile("app/html/block_html/_svg.pug",'');
		fs.readdirSync('app/img/svg').forEach(file => {
			svgArray.push("\'"+file+"\'");
		})
		fs.writeFile("app/html/block_html/_svg.pug",'- svgArray = ['+ svgArray+'];');

});


Как реализовать данное:
Если в имени файла есть приставка к имени.
К примеру, в файле fileName--color.svg есть " --color ", то данный pipe не запускать

.pipe(cheerio({
						run: function ($) {
								$('[fill]').removeAttr('fill'); //remove if need color icon
								$('[style]').removeAttr('style');
						},
						parserOptions: {xmlMode: true }
				}))


Заранее благодарю за Ваш совет.
  • Вопрос задан
  • 103 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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