2013-03-12 4 views
0

У меня есть задача Grunt для компиляции scss-файлов с использованием Compass и сборки с ошибкой в ​​другое время. Когда я меняю файл, который использует микшер Compass, например. @import box-sizing(border-box), он терпит неудачу, и говорит, что плагин не включен (это фактически включен в файл «all.scss» с помощью @import "compass/css3/box-sizing", а затем она включает в себя другие SCSS файлы.Ошибка компилятора Compass

Второй раз (после того, как вы увидите сообщение об ошибке) вы пытаетесь я думаю, причина в том, что если другие файлы (в частности, мой файл all.scss) не были изменены, он пропускает его во время компиляции, поэтому include не найден.

Также , если я использую require 'box-sizing' или require "compass/css3/box-sizing" в config.rb, он также не говорил, что он не может найти этот плагин.

Любая идея, что является причиной?

+0

'box-sizing' не является плагином или расширением, это просто таблица стилей, которая является частью библиотеки Compass. Вот почему вы не можете ссылаться на него в 'config.rb'. Расширения - это такие вещи, как (Sassy Buttons) [http://jaredhardy.com/sassy-buttons/] или (Suzy) [https://github.com/ericam/susy/] – cimmanon

ответ

1

box-sizing является mixin, так что вы хотите @include его, не @import:

@include box-sizing(border-box); 

Как вы импортировали его, компилятор рассматривает его как расширение Compass, который отсутствует в config.rb. Но это не расширение, в первую очередь, это часть Compass в первую очередь!

So change @import to @include решит вашу проблему.

См. http://sass-lang.com/#mixins для синтаксиса.