2014-01-27 54 views
1

我有一个复杂的.less文件组成的嵌套树,被组织为一个main.less文件,该文件使用@import子句导入其他几个辅助文件。在某些情况下,这些文件会导入其他文件。LESS:编译器,合并和缩小所有导入的文件

目前我处于开发模式,文件是在运行时由LESS.JS编译器编译的,但在生产环境中,我想编译一次所有文件,并可能合并所有文件。如何获得这个?

我的意图是:

  1. 当我准备好生产,传递给编译main.less路径
  2. 编译器分析main.less,如果它遇到@import条款,如下链接并编译也导入文件。
  3. 这应该是迭代的所有文件
  4. 最后,我想只有一个大的.css文件合并(也许最小化)的所有单一的.less文件。

我试图SimpLESS编译器,但它不会产生我在问什么....

+0

我可能在这里丢失了一些东西,但是你所描述的“意图”应该是任何LESS编译器的默认值。在编译'main.less'时,它应该产生一个'main.css',就像你所描述的那样,所有'@ import'子句都解析为css,并且它们位于'main.less'中。你会得到什么(缺少什么)? – ScottS

+0

在这里阅读一下,我发现我必须在SimpLESS中加载main.less而不是整个项目文件夹才能编译一个大的.css文件。 无论如何,奇怪的是,它可以在导入的文件中显示出语法错误,即.JS运行时编译器正确编译....非常奇怪,它涉及这种语法 p:nth-​​child(@ { number_objects} n + 1) –

+0

SimpLESS只使用过时的Less版本(即考虑使用一些或多或少的最新替代版本)。 –

回答

1

我发现“LESS.js - Windows”,它完美的作品,即使是没有图形,但只有基于壳。 它在编译时几乎立即可用,并且不会在我的较少代码中返回错误(与使用相同代码测试的所有其他图形工具(如WinLess和SimpLess)不同)。

它与“基于node.js的”编译工具非常相似,但不需要安装任何其他软件包。只需下载并单独使用它。唯一的缺点是最近的更新是从2014年开始的,所以它可能会过时地尊重语言的最新功能。