0

次のコマンドを使用して、coffescript ファイルを js ファイルにコンパイルできます。

coffee --join path/to/result.js --compile path/to/coffeescript_dir/

しかし、coffeescript コードの一部を (テキストとして) コンパイルし、js コードの一部を (テキストとしても) 取得したい場合、それらはファイルではありません。例えば:

  • cs テキスト:"func = () -> 55"

  • js テキスト結果:"var func; func = function(){return 55;}"

コンソールから実行する必要があります。または、Python インタラクティブ コンソールから実行することをお勧めします :)

4

1 に答える 1

4

--eval文字列パラメーターをコーヒー入力として受け取り、--bareJS 出力がクロージャーでラップされるのを回避し、--print出力をファイルではなく stdout に出力するために使用できます。

$ coffee --print --bare -eval 'func = -> 55' 
var func;

func = function() {
  return 55;
};

Python から呼び出すには、subprocessモジュールを使用できます。

from subprocess import Popen, PIPE
def compile_cs(cs_code):
    args = ['coffee', '--print', '--bare', '--eval', cs_code]
    return Popen(args, stdout=PIPE).communicate()[0]
于 2012-08-19T08:39:31.263 に答える