我正在尝试让 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('');
是否有任何异常,或者这可能是 Rhino 错误?
最佳答案
如果它适用于 Node/V8 + 浏览器但不适用于 Rhino,您可以相当确定它是 Rhino 特有的东西(尽管不一定是错误的)。在 coffeekup.coffee 顶部的较长评论中它说它将在 Node 或浏览器上运行,所以很可能是这种情况。
要真正知道出了什么问题,您需要一个调试器,您可以在其中单步执行代码(我不知道如何在 Rhino 上执行此操作,可能是通过 Eclipse 甚至可能是 jdb如果您手边有所有资源并且非常精通 Java)。如果您发现一些合理的微不足道的事情,请尝试提交 issue ,但 CoffeeKup 在过去几个月似乎没有太多事件。如果您准备迎接挑战,请 fork 、修复和拉取请求。
关于javascript - 在 Rhino 上运行 CoffeeKup?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8701291/