LESS @import&Web Essentials 2012

Unl*_*ess 5 less web-essentials

在我的Web项目中,出于维护原因,我将CSS拆分为单独的LESS文件.我有一个名为config.less的文件作为主文件,使用@import指令导入其他较少的文件.

这个设置的问题似乎是我在编辑我的LESS文件时得到了很多"Undeclared variable"和"Undeclared mixin",例如在base.less中添加一个名为@textColor的属性变量,在另一个中声明了文件名为variables.less.有没有办法让Web要点知道变量和mixin是在外部较少的文件中定义的?

另一件似乎是绊倒Web Essentials的事情是当我使用LESS的嵌套媒体查询功能时:

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

嵌套的@media声明获得一个红色下划线,并且在悬停时它会在样式规则中显示"Unexpected'@'block".将嵌套的背景属性悬停显示"验证:'颜色'不是有效的HTML标记.

Sco*_*ttS 2

我无法给出有关 Web Essentials 问题的答案@media,但我可以就变量和 mixins 问题提供建议。

基本上,将您的config.less文件更改为 ,variables.less并将任何其他 mixin 文件更改为@import-once,然后将@import-once 'variables.less其添加到使用其中变量的每个文件中(对使用的任何 mixin 文件执行相同的操作)。

这样做的作用是,如果您正在处理该文件(例如您的base.less),则导入该文件,但是当所有文件都由 编译时config.less,它只会导入variables.less一次,而不会为每个也引用variables.less.

  • @Unless是的,导入一次并不能解决我的问题......我正在使用Visual studio和web Essentials(现在是web工具)来减少支持,而且它似乎导入了两次。:( (2认同)