簡體   English   中英

如何在Windows環境中通過Rake任務調用Nodejs來編譯一些LESS文件?

[英]How do I call Nodejs in Windows environment from a Rake task to compile some LESS files?

從Rake任務中調用nodejs的正確方法是什么? 我想將一些LESS文件編譯成CSS。 我已經全局安裝了cssless編譯器。

使用lessc命令調用的命令行Less編譯器應該可以工作。

您可以從安裝Less的Ruby版本開始,這使Less編譯器可用於Ruby: sudo gem install less

請注意,如果sudo gem install therubyracer此編譯器正常工作,則還必須安裝therubyracer( sudo gem install therubyracer )(用節點版本替換編譯器時不需要)。

現在,您應該能夠運行以下命令: lessc -v 這應該向控制台輸出類似lessc 1.7.0 (LESS Compiler) [Ruby] 2.6.0的內容。

完成這些步驟后,您可以運行npm install -g less ,它將安裝Node Less編譯器(並替換Ruby編譯器,兩個命令都將可執行文件安裝在同一位置)。 現在, lessc -v命令應將以下內容輸出到控制台lessc 1.7.5 (Less Compiler) [JavaScript]

最后,您可以創建一個Rake任務來編譯Less。 此類任務的示例可在以下網址找到: https//gist.github.com/pfig/1969062 ,其外觀如下所示:

require 'rubygems'
require 'less'
require 'rake'

SOURCE = "."
LESS = File.join( SOURCE, "path", "to", "less", "files" )
CONFIG = {
  'less'   => File.join( LESS, "less" ),
  'css'    => File.join( LESS, "css" ),
  'input'  => "style.less",
  'output' => "style.css"
}

desc "Compile Less"
task :lessc do
  less   = CONFIG['less']

  input  = File.join( less, CONFIG['input'] )
  output = File.join( CONFIG['css'], CONFIG['output'] )

  source = File.open( input, "r" ).read

  parser = Less::Parser.new( :paths => [less] )
  tree = parser.parse( source )

  File.open( output, "w+" ) do |f|
    f.puts tree.to_css( :compress => true )
  end
end # task :lessc

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM