Robin,
Thank's for the answer. But does Couchdb support AMD modules? I only found CommonJS info (
http://wiki.apache.org/couchdb/CommonJS_Modules).
However using patched Handlebars with 'require('lib/handlebars')' or 'require(['lib/handlebars'], function(module) {
...})' failed. The former with 'define is not defined' error, the latter with 'name.split is not a function' error.
On 10/10/12 10:49, Robin Berjon wrote:
Hi,
On 09/10/2012 17:08 , Aliaksandr Barysiuk wrote:
I faced with issues when i have tried to use Handlebars
(http://handlebarsjs.com/) in my show function. It seems it's CommonJS
compliant but following simple example fails...
function(doc, req) {
var Handlebars = require('lib/handlebars');
var source = "<div>{{user}}</div>"
var template = Handlebars.compile(source);
return template( { user:"John" } );
}
...with error:
{"error":"render_error","reason":"function raised error: (new
TypeError(\"Handlebars.compile is not a function\", \"\", 4) ...
This looks like Handlebars is not AMD friendly. It probably tries to define a global Handlebars object, which
obviously won't work here.
What you need to do is wrap the lib so that it'll work with AMD. I haven't checked it out closely, but maybe this
patch can help:
https://github.com/wycats/handlebars.js/pull/187