Работаете CoffeeKup на Rhino?
Я пытаюсь заставить CoffeeKup работать с движком Mozilla's Rhino. Пока не очень много удачи. Я пытаюсь этот простой шаблон:
templates ?= {}
templates.first = ->
doctype 5
html ->
head ->
title "#{@title}"
body ->
h1 "#{@hello}"
Который я компилирую в Javascript и затем пытаюсь выполнить
CoffeeKup.render(templates.first, {title: 'Say Hello', hello: 'Hello World!'});
Но это не с этим:
org.mozilla.javascript.EcmaError: SyntaxError: invalid return (CoffeeKup#304(Function)#230)
В javascript-версии coffeekup.coffee строка 304 выглядит так:
return new Function('data', code);
А также code
строка 230 (последняя строка) это:
).call(data);return __ck.buffer.join('');
Выглядит ли что-то необычное или это ошибка Rhino?
1 ответ
Если он работает в браузерах Node/V8 +, но не в Rhino, вы можете быть уверены, что это что-то специфическое для Rhino (хотя и не обязательно). В более длинном комментарии в верхней части coffeekup.coffee говорится, что он будет работать на Node или в браузерах, так что это, скорее всего, так.
Чтобы действительно знать, что происходит не так, вам нужен отладчик, в котором вы можете пройтись по коду (я не знаю, как это сделать на Rhino, возможно, через Eclipse или, возможно, даже jdb, если у вас есть все исходники под рукой и вы очень хорошо владеете Java)). Если вы нашли что-то разумное тривиальное, попробуйте подать проблему, но CoffeeKup, похоже, не видел большой активности в последние месяцы. Если вы готовы принять вызов, разветвитесь, исправьте и вытяните запрос.