我正在使用coffee-script.js让我将一小段coffeescript编译成浏览器中的javascript。这让我做:
eval(Coffeescript.compile("console.log 'yo'"))
但是这会返回一个包装函数,如下所示:
(function() {
console.log('yo')
}).call(this);
我想得到一个解开的代码片段,这样我可以调用范围内的函数,如果它不是函数包装器的话。除了正则表达式之外还有任何建议可以手工删除吗?
答案 0 :(得分:9)
您可以在bare
的第二个参数中传递compile
选项:
// In JS
CoffeeScript.compile("console.log 'yo'", {bare: true})
# In CS :)
CoffeeScript.compile "console.log 'yo'", bare: on
但您也可以直接使用CoffeeScript.eval
。它会做你正在寻找的东西:)