错误"堆栈级别太深"用嵌套的SUSY调用编译sass时

时间:2014-09-29 18:46:15

标签: jruby susy-compass

我在特定的.scss文件中发现,只要我在@include span(...)内拨打@include with-layout(...),我就会使用该文件

@include with-layout(10 0 split){
    div.header{
        @include span(8 of 10);
    }
}

我收到以下错误:

error myFile.scss (org/jruby/RubyArray.java:2339:in `collect': stack level too deep)

这让我相信这些特定的嵌套属性会发生某种无限递归。有谁知道如何解决这个问题,或者嵌套这些@include语句的正确方法是什么?谢谢!

1 个答案:

答案 0 :(得分:1)

你可以发布你的mixin定义吗?
我的猜测是你的span mixin包含一个@content指令,导致无限循环:

您的代码将div.header {}内容块应用于位于with-layout mixin中的所有@content指令,但如果每个div.header {}块通过span mixin包含@content指令,则SASS将继续替换每个@content指令带有一个包含@content指令等的div.header。

这可以通过从span mixin中删除@content指令,或者定义一个不包含@content指令的新span mix来解决。