2013-02-19 79 views
5

在我的web项目中,出于维护原因,我已将CSS分割为单独的LESS文件。我有一个名为config.less的文件,充当使用@import指令导入其他较少文件的主文件。LESS @import&Web Essentials 2012

这个设置的问题似乎是我得到了很多“未声明的变量”&“未声明的mixin”,同时编辑我的LESS文件,例如在base.less中添加名为@textColor的属性变量时,在另一个较小的文件中声明,称为variables.less。有什么方法可以让web essentials知道在外部较少文件中定义的变量和mixin?

,这似乎是绊倒了网络必备的另一件事情是,当我使用较少的嵌套的媒体查询功能:

.some-selector { 
    background: #000; 
    @media only screen and (max-width: 800px) { 
     background: #fff; 
    } 
} 

嵌套@media声明得到一个红色下划线和悬停它说“样式规则中的意外'@'块。悬停嵌套的背景属性显示“验证:'颜色'不是一个有效的HTML标记

回答

2

我不能给出关于Web Essentials @media问题的答案,但我可以给变量和mixins问题的建议。

基本上,改变你的config.less文件有variables.less和任何其他混入文件是@import-once,然后还加@import-once 'variables.less到使用变量从它的每个文件(做同样使用的任何mixin的文件)。

如果你正在处理它(如你的base.less)那么它会导入文件,但是当所有的文件都由config.less编译,它只会导入variables.less一次,而不是每个文件也导入variables.less

+1

出于某种原因导入一次不适合我。我有一个只包含导入的主style.less文件。 从那里我导入一次一个mixin.less文件,它声明一个.clearfix类,该类包含它应该是...好。 现在在另一个文件中,我还导入了一次mixin.less文件以获得智能感知,然后将该文件导入到主style.less。我认为它应该只包含.clearfix类一次,但不幸的是它包含了两次?有任何想法吗? – MattyP 2013-02-19 22:53:39

+1

谢谢@ScottS!这正是我正在寻找的。应该更仔细阅读LESS文档:)根据文档,从@ 1.4.0开始,'@ import-once'将是'@ import'的默认行为。 – Unless 2013-02-20 07:19:19

+0

@MattyP:style.less听起来像是我的'config.less'文件的等价物。在这种情况下,我们似乎有非常相似的设置。所以编译的'style.less文件'包含两次'.clearfix'类? – Unless 2013-02-20 07:34:39

相关问题