Coffeescript编译:不是作为file2file,而是作为text2text
我们可以使用以下命令将coffescript文件编译为js文件: coffee--连接path/to/result.js--编译path/to/coffeescript\u dir/ 但如果我想编译一段coffeescript代码(作为文本)并获取一段js代码(也作为文本),而它们不是文件,该怎么办呢。 例如:Coffeescript编译:不是作为file2file,而是作为text2text,coffeescript,Coffeescript,我们可以使用以下命令将coffescript文件编译为js文件: coffee--连接path/to/result.js--编译path/to/coffeescript\u dir/ 但如果我想编译一段coffeescript代码(作为文本)并获取一段js代码(也作为文本),而它们不是文件,该怎么办呢。 例如: cs文本:“func=()->55” js文本结果:“var func;func=function(){return 55;}” 它必须从控制台完成,或者更好地从python交互控制
- cs文本:
“func=()->55”
- js文本结果:
“var func;func=function(){return 55;}”
--eval
将字符串参数作为coffee输入,--bare
避免JS输出被包装在闭包中,以及--print
在stdout而不是文件上打印输出:
$coffee--print--bare-eval'func=->55'
var func;
func=函数(){
返回55;
};
要从Python调用它,可以使用以下模块:
您可以使用--eval
将字符串参数作为coffee输入,--bare
避免JS输出被包装在闭包中,以及--print
在stdout而不是文件上打印输出:
$coffee--print--bare-eval'func=->55'
var func;
func=函数(){
返回55;
};
要从Python调用它,可以使用以下模块:
from subprocess import Popen, PIPE
def compile_cs(cs_code):
args = ['coffee', '--print', '--bare', '--eval', cs_code]
return Popen(args, stdout=PIPE).communicate()[0]