[英]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.