我開始lesscss,我不想使用一些GUI工具,但只有命令行。如何從命令行一次編譯多個文件?
我的結構如下
根
---少
--- CSS
我想都不到文件編譯的css文件夾。如何實現這一目標?
在此先感謝!
我開始lesscss,我不想使用一些GUI工具,但只有命令行。如何從命令行一次編譯多個文件?
我的結構如下
根
---少
--- CSS
我想都不到文件編譯的css文件夾。如何實現這一目標?
在此先感謝!
默認情況下,可以通過運行npm install less
安裝的命令行編譯器(lessc)將單個Less文件編譯爲single.css文件。
根據您的項目結構和較少的文件,您應該選擇如何編譯所有Less文件。
當你想將每個Less文件編譯成一個CSS文件時,你可以編寫一些命令行腳本來迭代你的文件,並通過調用lessc編譯器來編譯每一個文件。也許你應該更好地考慮使用一個任務跑步者,例如無g or或者咕嚕咕嚕。
在大多數情況下,不同文件中的較少代碼是相關的,一個文件定義變量和mixin用於其他文件等等。對於這種情況,你可以創建導入其他文件的單個文件project.less:
project.less:
@import "variable.less";
@import "theme.less";
現在,你將不得不只編譯project.less
。您可以通過運行lessc project.less project.css
來完成此操作。上面的命令再次將你的Less代碼編譯成一個CSS。
要回答你的問題只是理論上的,當你的減檔不依賴於對方,你只希望他們都編譯成一個CSS文件,你可以(在Linux/UNIX)運行:
paste -s less/*.less | lessc - > css/project.css
我發現這個問題,當我在尋找類似的任務的解決方案,這是我的編譯最終shell命令:
ls PATH_TO_LESS/*.less | xargs -I {} echo "printf 'Start compile file {}' &&" node_modules/less/bin/lessc --clean-css --relative-urls {} "{}# && echo ' - DONE'" | sed 's/\.less#/.css/g' | bash
該命令從給定的路徑都不太文件編譯成相同的路徑與更換擴展「萊s「=>」css「。
這有點長,所以如果有必要,我可以更多地解釋它。
有沒有信息日誌輸出相同的簡化的命令:
ls PATH_TO_LESS/*.less | xargs -I {} echo node_modules/less/bin/lessc --clean-css --relative-urls {} "{}# | sed 's/\.less#/.css/g' | bash
最好的這個解決方案對我來說,你可以用純故宮作爲任務管理器,而不喜歡大口咕嚕或任何其他的依賴。我希望它能幫助別人。
您可以通過this文檔。雖然,我會解釋一點。
安裝lessc-each
包
$ npm install -g lessc-each
然後,在命令行
$ lessc-each ‹dir1› ‹dir2›
其中
請參考上面給出的鏈接,因爲還有一些限制,如文件名一樣,因爲以雙下劃線(__)開頭的文件名不會被編譯。
非常感謝,我沒有意識到只有一個文件被編譯,我試圖編譯所有較少的文件:/ – 2015-01-27 08:12:12