2014-01-27 84 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年開始的,所以它可能會過時地尊重語言的最新功能。