我们可以使用命令:
将coffescript文件编译为js-filecoffee --join path / to / result.js --compile path / to / coffeescript_dir /
但是,如果我想编译一段coffeescript代码(作为文本)并获得一段js代码(也作为文本),它们不是文件。 例如:
cs text:"func = () -> 55"
js文字结果:"var func; func = function(){return 55;}"
必须从控制台完成,或者更好地从python交互式控制台完成:)
答案 0 :(得分:4)
您可以使用--eval
将字符串参数作为咖啡输入,--bare
以避免将JS输出包装在闭包中,并使用--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]