使用Coffeescript.compile时访问裸选项

Mik*_*Kay 5 coffeescript

我正在使用coffee-script.js让我将一小段coffeescript编译成浏览器中的javascript.这让我做:

eval(Coffeescript.compile("console.log 'yo'"))
Run Code Online (Sandbox Code Playgroud)

但这会返回一个包装函数,如下所示:

(function() {

  console.log('yo')

}).call(this);
Run Code Online (Sandbox Code Playgroud)

我想得到一个解开的代码片段,以便我可以调用范围内的函数,如果它不是函数包装器.除了正则表达式之外还有哪些建议可以手工剥离它?

epi*_*ian 9

您可以bare在第二个参数中传递选项compile:

// In JS
CoffeeScript.compile("console.log 'yo'", {bare: true})

# In CS :)
CoffeeScript.compile "console.log 'yo'", bare: on
Run Code Online (Sandbox Code Playgroud)

但你也可以CoffeeScript.eval直接使用.它会做你正在寻找的:)

  • 是否有记录这些选项的地方? (3认同)