HAML& SASS / COMPASS:是否可以在两者之间共享变量?

时间:2011-02-11 18:24:09

标签: haml sass compass-sass

我现在已经习惯了使用指南针和Haml,它非常棒。但是,如果两者能够更紧密地合作,那将会很棒。这似乎不可能,但我可能忽略了它或没有正确搜索。

我想我的意思是这样的:

通用变量文件:

$container-id = "container"
$primary-column-id = "navbar"

Haml文件:

!!! 5  
%html(lang="en")  
  %head  
    %title  
  %body  
    #{$container-id}  
      %section#{$primary-column-id}

指南针文件:

#{$container-id} {
  width: 900px;
}

#{$primary-column-id} {
  width: 400px;
}

1 个答案:

答案 0 :(得分:4)

根据我的研究和使用情况,目前不支持(没有某种自定义外部解决方案)。我同意它在理论上是一个很棒的功能,但我认为它不存在因为separation of concerns

例如,特定的Haml文件在编译时必须知道与其他特定Sass文件的链接,并获取声明的变量。这确实发生了Sass< - >萨斯,通过局部。但是,有了上面的想法 - >标记(Haml)与造型(Sass / Scss)有些混合。虽然他们互相引用 - 但他们有不同的目的。例如DOM中的ID是对象的属性,而在样式表中,ID是对象的选择器

一个框架(比如Compass)理论上可以实现类似的东西,因为它会查看项目 - 但是对于变量声明或其他东西来说,拥有一个统一的项目范围的配置文件(既不是Sass也不是Haml)可能更合适。 / p>

这对于克里斯·埃普斯坦的观点来说是一个很好的问题:https://stackoverflow.com/users/41221/chriseppstein