为什么我不能将.less文件导入单个.less文件?

时间:2011-03-29 15:06:48

标签: css less

我有我的文件结构:

lib/css/...包含我的样式,分为每种区域的单个.less文件。

lib/style.less是我要将子样式文件收集到的文件 - 以及我想要链接到HTML的文件。

当我输入(进入style.less)时:

@import url("/css/StyleToImport.less");

@import "/css/StyleToImport.less";

...我收到语法错误。

将.less文件合并到一个文件中真的不可能吗?

让1个单独的文件包含颜色,尺寸等所有变量可能非常方便。

但就像现在一样,我必须在每个文件中使用HTML中的<link ...>标签 - 这不是那么方便。

P.S。我看过Join two .less files into one css file

我读过这个:

  

导入

     

导入工作非常有用   正如所料。您可以导入.less   文件,以及其中的所有变量   能得到的。如果文件是.less,   扩展名是可选的:

     

@import“library”;

     

@import“typo.css”;

4 个答案:

答案 0 :(得分:27)

我刚刚在我的本地环境中尝试了此操作,将vars放入vars.less并将mixins放入conf.less。文件结构与您的文件类似,基本.less文件位于包含所有“包含”的文件夹下方。

所以我有css个文件夹,其中包含main.less个文件,然后是css/less/vars.less | conf.less

要导入这两个:

@import "less/vars.less";
@import "less/conf.less";

我唯一的答案是删除/声明中的第一个@import。尝试将Google字体导入我的.less文件时,我遇到了类似的问题。

至少值得一试,因为使用与你相同的结构我的工作。

答案 1 :(得分:5)

我有一个类似的问题,导入似乎无声地失败。事实证明,我的编辑器已将@ import-ed文件保存为带有BOM的UTF-8,如this question中所述。

无论出于何种原因,LESS编译器会对具有BOM的@ import-ed文件进行静默清除,即使在 root 文件有BOM时也会出现错误。

尝试在没有BOM的情况下重新保存您的@ import-ed文件,它可能会起作用。

答案 2 :(得分:1)

如果没有错误,我不确定问题是什么。

我建议使用lessapp,http://incident57.com/less/,我发现它非常好用,并且更容易使用。还要小心尝试导入空白文件,因为它可能会抛出错误。

我上传了一些基本代码,用于根据项目构建我的文件 - 您可以在https://github.com/danethurber/seamLESS获取它们。这可能有所帮助,如果你或任何人想要贡献,我会很高兴得到帮助:)

答案 3 :(得分:1)

当您链接到/目录时,它从根目录自上而下,在这种情况下找不到它。所以@Daniel建议删除斜杠是正确的。

你应该这样链接:

@import url("css/StyleToImport.less");

这是因为您的起点位于css目录本身内,然后指向该目录css /然后指向该文件本身。

如果你需要首先上一个目录然后上下来你会做

../directory/file.less