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'or require "compass/css3/box-sizing",它也会失败,说它找不到这个插件。

知道是什么原因吗?

4

1 回答 1

1

box-sizing是一个mixin,所以你想要@include它,而不是@import

@include box-sizing(border-box);

当您导入它时,编译器会将其视为 Compass 扩展,而config.rb. 但它首先不是扩展,它首先是 Compass 的一部分!

因此,更改@import@include将解决您的问题。

有关语法,请参见http://sass-lang.com/#mixins

于 2013-03-23T21:20:27.120 回答