Работаете 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, похоже, не видел большой активности в последние месяцы. Если вы готовы принять вызов, разветвитесь, исправьте и вытяните запрос.

Другие вопросы по тегам