Meteor bootstrap less mixins不能跨文件工作

时间:2013-12-29 05:26:26

标签: meteor less

我在Meteor中使用bootstrap,并通过bootstrap.less中的public命令导入import文件夹中安装的main.less个文件:

@import "public/bower_components/bootstrap/less/bootstrap.less";

在它下面,我可以开始使用bootstrap mixins,例如.clearfix()text-hide(),它们编译得很好。

但是,当我想将自己的less代码抽象到单独的文件apply.less中并将该文件导回main.less时,现在看起来像这样:

@import "public/bower_components/bootstrap/less/bootstrap.less";
@import "apply.less";

我现在收到错误

=> Errors prevented startup:

While building the application:
client/less/apply.less:10:2: Less compiler error: .clearfix is undefined

这真的很奇怪。这是Meteor的问题吗?

我发现的另一件事 - 如果我把这个空的mixin定义

.clearfix(){}

在我的apply.less文件的顶部,事情将再次正常编译。

之前是否有人遇到此问题并找到了解决方法?

1 个答案:

答案 0 :(得分:2)

将您的第二个文件重命名为apply.lessimport并将其导入为:

@import "apply.lessimport";

基本上,较少的包查找目录树中具有“.less”扩展名的每个文件,并将其单独编译为CSS,无论该文件是否被另一个文件导入。

当它找到一个带有“.lessimport”扩展名的文件时,会将其添加到已监视文件列表中,但实际上并不会编译或对其执行任何操作。