0

我们可以使用以下命令将 coffescript 文件编译为 js 文件:

咖啡 --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将字符串参数作为咖啡输入,--bare以避免将 JS 输出包装在闭包中,并将--print输出打印到标准输出而不是文件:

$ 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 回答