1

Rakeタスクからnodejsを呼び出す正しい方法は何ですか? いくつかの LESS ファイルを CSS にコンパイルしたいと考えています。cssless コンパイラをグローバルにインストールしています。

4

1 に答える 1

0

lessc コマンドで呼び出されるコマンド ライン Less コンパイラは動作するはずです。

Less の Ruby バージョンをインストールすることから始めることができます。これにより、Less コンパイラを Ruby で使用できるようになります。sudo gem install less

このコンパイラを動作させるには、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
于 2014-10-07T19:24:23.373 に答える