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