我试图让CoffeeKup与Mozilla的Rhino引擎合作。到目前为止运气不大。我正在尝试这个简单的模板:
templates ?= {}
templates.first = ->
doctype 5
html ->
head ->
title "#{@title}"
body ->
h1 "#{@hello}"
我compile into Javascript然后尝试使用
进行渲染CoffeeKup.render(templates.first, {title: 'Say Hello', hello: 'Hello World!'});
但它失败了:
org.mozilla.javascript.EcmaError: SyntaxError: invalid return (CoffeeKup#304(Function)#230)
在coffeekup.coffee的Javascript版本中,第304行就是这个:
return new Function('data', code);
code
第230行(最后一行)是这样的:
).call(data);return __ck.buffer.join('');
有什么看起来与众不同还是这可能是一个犀牛虫?
答案 0 :(得分:1)
如果它适用于Node / V8 +浏览器但不适用于Rhino,你可以相当确定它是特定于Rhino的东西(尽管不一定是错误的)。在coffeekup.coffee顶部的较长评论中,它表示它将在Node或浏览器上运行,因此最有可能出现这种情况。
要真正知道出了什么问题,你需要一个调试器来逐步完成代码(我不知道如何在Rhino上执行此操作,可能通过Eclipse或甚至{{3如果你手头有所有资源并且非常精通Java)。如果你发现一些合理的事情,请尝试提交jdb,但过去几个月里,CoffeeKup似乎没有看到太多活动。如果您正在接受挑战,请分叉,修复并提取请求。