Ошибка переключения с grunt compass на libsass

Я работаю над переходом от grunt-contrib-compass к grunt-sass. Я вижу, что компилятор libsass не удается выполнить некоторые операции импорта в файле main.scss.

Вот main.scss

@import "breakpoint";
@import "compass/css3";
@import "compass/css3/user-interface";
@import "compass/css3/transform";
@import "compass/utilities/general/clearfix";

А вот ошибка, возникающая при запуске задачи sass:

file to import not found or unreadable: breakpoint
Current dir: example/styles/
Line 1  Column 9  example/styles/main.scss

Кто-нибудь знает, как переключиться на libsass с компаса, знает, есть ли эквиваленты для этих импортов, которые я мог бы добавить в качестве замены?

1 ответ

Вам необходимо обновить путь импорта для breakpoint указать, где _breakpoint.scss расположен.

grunt-contrib-compass имеет importPath вариант (например, importPath: '/bower_components',) который

Делает файлы в указанной папке доступными для поиска по директиве Sass @import

Поскольку он был удален из вашего файла gruntfile, теперь вы должны использовать полный путь для его импорта:

@import "/bower_components/breakpoint/breakpoint";

Редактировать: libsass имеет похожую опцию 'loadPath', которая принимает массив путей для поиска файлов в @import.

grunt.initConfig({
  libsass: {
    options: {
      loadPath: ['my/load/path']
    },
    files: {[
        {
            expand: true,
            cwd: 'my/src/dir',
            src: ['**/*.scss'],
            dest: 'dist',
            ext: '.css'
        }
    ]},
  }});

Ваш новый конфиг для libsass будет включать

Если вы решите не делать этого, вам нужно будет установить точку останова глобально, как это было сделано для компаса.

gem "breakpoint", "~>2.4.0"
Другие вопросы по тегам