Gulp Elixir: неправильная исходная карта CSS после двух задач: компиляция SASS и объединение таблиц стилей

У меня есть несколько файлов sass (с одним стилем.scss, содержащим все включения) и несколько библиотек css, которые я хочу объединить в один окончательный файл style.min.css.

Я настроил 2 задачи с эликсиром:

  1. Компилирует мой файл sass: 'style.scss' (содержащий все включения) в css: 'public/css/style.css'
  2. Объединяет скомпилированный css: 'public/css/style.css' с другими таблицами стилей (библиотеками) в финал: 'public/css/style.min.css' Вот мой gulpfile:

elixir(function(mix) {
    mix
        .sass('style.scss', 'public/css/style.css')
        .styles([
            'path-to-lib/some-random-lib/lib.css',
            'path-to-lib/another-random-lib/lib.css',
            '/public/css/style.css'
        ], 'public/css/style.min.css')
});

Проблема: задача компиляции sass создает правильную исходную карту, указывающую на правильные строки в .scss, но вторая задача, объединяющая стили, создает исходную карту, указывающую на строки в 'public/css/style.css' , а не в файлах .scss :(

Кто-нибудь знает, как заставить окончательную исходную карту указывать на строки в файлах sass?


person Kaloyan Kosev    schedule 03.11.2015    source источник


Ответы (1)


Наконец, спустя 3 месяца, я нашел решение!

Вместо того, чтобы вызывать оба — mix.sass для компиляции SASS и затем mix.styles для объединения таблиц стилей css, я просто завернул все в mix.sass.

elixir(function(mix) {
    mix.sass([
        'path-to-lib/some-random-lib/lib.css',
        'path-to-lib/another-random-lib/lib.css',
        '/public/css/style.css'

        'style.scss'
    ], 'public/css/style.css')
});

Этот трюк исправляет проблему с исходной картой.

person Kaloyan Kosev    schedule 02.02.2016