fergussawyer
@fergussawyer
Front-End

SvgSprite gulp как правильно прописать путь от корня?

.pipe(svgSprite({
        mode: {
            symbol: {
                sprite: "../sprite.svg",
                render: {
                    scss: {
                        dest: "C:/Users/User/Desktop/gulp/src/style/partials/sprite.scss",
                        template: "./bower_components/sprite/sprite_template.scss"
                    }
                }
            }
        }
    }))


Структура:
build
-img
src
-style
--partials

по умолчанию scss и сам спрайт выгружается в dest(build/img)
Нужно раскидать 2 файла по разным местам спрайт оставить в build/img а scss в src/style/partials

Вариант №1: (не работает, в консоли выбивает ошибку)
../../../src/style/partials/
Ошибка:
TypeError: Cannot read property 'sockets' of undefined

Вариант №2: (работает, но точно можно сделать более правильно)
C:/Users/User/Desktop/gulp/src/style/partials/sprite.scss

Подскажите, как прописать путь более грамотно?
P.S В документации самого плагина не чего не нашел, в гугл не посылать, спасибо.
  • Вопрос задан
  • 583 просмотра
Решения вопроса 1
MacFiss
@MacFiss
человек
Что бы не прописывать абсолютный путь, используйте __dirname, если это необходимо.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
zorro76
@zorro76
У меня немного по другому все организовано:
var src = {
     svgsprite: ['./src/img/icons/sprites/*.svg']
    },

gulp.task('svgsprite', function() {
    return gulp.src(src.svgsprite)
        .pipe(svgSprite(config = {
            preview: false,
            selector: "icon-%f",
            cssFile: "_svgsprite.scss",
            svg: {
                sprite: "img/sprite.svg"
            },
            dimension       : {
                maxWidth    : 32,
                maxHeight   : 32
            },
            baseSize: 32
        }))
        .pipe(gulp.dest('./src/sass'))
        .pipe(connect.reload())
});

gulp.task('svgsprite-clean', function (cb) {
    del(['./src/sass/img/sprite.svg','./src/sass/_svgsprite.scss'], cb);
});
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы