我有一个Grunt任务,用于使用Compass编译scss文件,并且每隔一段时间构建失败。当我更改使用Compass mixin的文件时,例如@import box-sizing(border-box)
,它失败并说插件未包含(它实际上包含在使用@import "compass/css3/box-sizing"
的文件“all.scss”中,然后它包含其他scss文件。
第二次(在看到错误之后)你尝试编译它,它工作得很好。我想原因是如果其他文件(特别是我的“all.scss”文件)没有被更改,它会在编译期间跳过它,所以找不到包含。
另外,如果我在config.rb中使用require 'box-sizing'
或require "compass/css3/box-sizing"
,它也无法说它无法找到此插件。
知道原因是什么吗?
答案 0 :(得分:1)
box-sizing
是mixin,因此您想要@include
,而不是@import
:
@include box-sizing(border-box);
当您导入它时,编译器将其视为Compass扩展,config.rb
中缺少该扩展。但它首先不是扩展,它首先是Compass的一部分!
将@import
更改为@include
会解决您的问题。
请参阅http://sass-lang.com/#mixins了解语法。