serii81
@serii81
Я люблю phр...

Почему не работает спрайт scss?

Собираю спрайт с помощью gulp-sass и gulp-spritesmith.
gulp.task('sprite', function() {
    var spriteData =
        gulp.src('src/img/i/icons/*.*') // путь, откуда берем картинки для спрайта
            .pipe(spritesmith({
                imgName: 'sprite.png',
                cssName: '_sprite.scss',
                cssFormat: 'scss',
                algorithm: 'binary-tree',
                padding: 1,
                cssTemplate: 'scss.template.mustache',
                cssVarMap: function(sprite) {
                    sprite.name = 's-' + sprite.name
                }//
            }));

        spriteData.img.pipe(gulp.dest('src/img/')); // путь, куда сохраняем картинку
        spriteData.css.pipe(gulp.dest('src/sass/')); // путь, куда сохраняем стили
});


получаю _sprite.scss
$1clock-name: '1clock';
$1clock-x: 0px;
$1clock-y: 0px;
$1clock-offset-x: 0px;
$1clock-offset-y: 0px;
$1clock-width: 45px;
$1clock-height: 45px;
$1clock-total-width: 110px;
$1clock-total-height: 45px;
$1clock-image: '../i/sprite.png';
$1clock: (0px, 0px, 0px, 0px, 45px, 45px, 110px, 45px, '../i/sprite.png', '1clock', );
$2location-name: '2location';
$2location-x: 65px;
$2location-y: 0px;
$2location-offset-x: -65px;
$2location-offset-y: 0px;
$2location-width: 45px;
$2location-height: 45px;
$2location-total-width: 110px;
$2location-total-height: 45px;
$2location-image: '../i/sprite.png';
$2location: (65px, 0px, -65px, 0px, 45px, 45px, 110px, 45px, '../i/sprite.png', '2location', );
$spritesheet-width: 110px;
$spritesheet-height: 45px;
$spritesheet-image: '../i/sprite.png';
$spritesheet-sprites: ($1clock, $2location, );
$spritesheet: (110px, 45px, '../i/sprite.png', $spritesheet-sprites, );


настраивают иконки
@import "sprite";

.icon-small {
  display: inline-block;
  width: 45px;
  height: 45px;
  background: red;
}
.icon-1-clock {
  @include sprite($1-clock);
}


После запуска gulp получаю ошибку
Error in plugin 'sass'
Message:
    src\assets\sass\partials\_sprite.scss
Error: Invalid CSS after "...esheet-sprites;": expected 1 selector or at-rule, was "$1clock-name: '1clo"
        on line 1 of src/assets/sass/partials/_sprite.scss
        from line 1 of src/assets/sass/partials/_icons.scss
        from line 3 of src/assets/sass/partials/_start.scss
        from line 1 of src/assets/sass/style.scss
>> // SCSS variables are information about icon's compiled state, stored under


Как решить эту задачу?
  • Вопрос задан
  • 296 просмотров
Решения вопроса 1
serii81
@serii81 Автор вопроса
Я люблю phр...
Все очень просто, оказывается нельзя начинать переменную с цифрой.
Надеюсь это кому-нибудь поможет.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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