2013-03-12 83 views
0

我有一個使用Compass編譯scss文件的Grunt任務,每隔一段時間編譯失敗。當我更改使用Compass mixin的文件時,例如@import box-sizing(border-box),它失敗並說該插件不包括(它實際上是包含在文件「all.scss」使用@import "compass/css3/box-sizing",然後包括其他SCSS文件。指南針每隔一段時間編譯器出錯

第二次(您看到錯誤之後)你試試編譯它,它工作得很好,我想原因是如果其他文件(特別是我的「all.scss」文件)沒有改變,它會在編譯期間跳過它,所以包括沒有被發現。如果我在config.rb中使用require 'box-sizing'require "compass/css3/box-sizing",它也會失敗,說它找不到這個插件。

任何想法是什麼原因?

+0

'box-sizing'不是插件或擴展,它只是一個樣式表,它是Compass庫的一部分。這就是爲什麼你不能在'config.rb'中引用它。擴展程序就像(Sassy Buttons)[http://jaredhardy.com/sassy-buttons/]或(Suzy)[https://github.com/ericam/susy/] – cimmanon 2013-03-12 12:22:41

回答

1

box-sizingmixin,所以要@include它,而不是@import

@include box-sizing(border-box); 

當你在導入時,編譯器將其視爲一個指南針擴展,這是在config.rb失蹤。但首先它不是擴展,它首先是Compass的一部分!

因此,將@import更改爲@include將解決您的問題。

查看http://sass-lang.com/#mixins的語法。