Roots Sage 9 - сборка для производства возвращает ошибку при миксине sass с пряжей

создание темы с помощью Roots Sage для WordPress.

Попытка запустить простой миксин для сетчатки:

    @mixin imgRetina($image, $extension, $width, $height) {
      background: url($image + '.' + $extension) no-repeat;
      width: $width;
      height: $height;
    @media (min--moz-device-pixel-ratio: 1.3),
       (-o-min-device-pixel-ratio: 2.6/2),
       (-webkit-min-device-pixel-ratio: 1.3),
       (min-device-pixel-ratio: 1.3),
       (min-resolution: 1.3dppx) {     
            background-image: url($image + '-2x' + '.' + $extension) no-repeat;
            background-size: $width $height;
     }
    }

и включить его в класс:

@include imgRetina('../assets/images/logo', png, 370px, 115px);

на yarn run start он упаковывает файл и доступен в браузере. Если я попытаюсь yarn run build:production, я получу следующую ошибку:

Ошибка сборки модуля: ModuleNotFoundError: модуль не найден: ошибка: не удается разрешить «../assets/images/test-logo-2x.png»

Любые идеи?


person m33bo    schedule 12.11.2017    source источник


Ответы (1)


Структура карты меняется при создании для производства и требует более глубокого поиска.

@include imgRetina('../assets/images/logo', png, 370px, 115px);

должно быть:

@include imgRetina('../../assets/images/logo', png, 370px, 115px);

Webpack должен нормально преобразовывать эти изображения при запуске yarn watch.

person roberrrt-s    schedule 21.11.2017