/ / Môžu byť šablóny dust.js použité vo funkcii CouchDB „show“? - couchdb, dust.js

Je možné použiť šablóny dust.js vo funkcii CouchDB "show"? - couchdb, dust.js

dust.js je asynchrónny šablónový modul javascript - odovzdáte spätné volanie funkcii "render".

CouchDB "show" funkcie, na druhej strane, musí skutočne vrátiť HTML.

Takže nemôžem použiť funkciu prach.js v mojej funkcii show! ... proste to nebude fungovať. Ako sa dostanem okolo tohto synchrónneho / asynchrónneho problému?

EDIT: Mal by som to urobiť pomocou funkcie asynchrónneho odoslania:

function(doc,req){
var dust = require("lib/dust");
dust.renderSource("Hello, my name is {name}",{name:"Nick"},function(err,output){
send(output);
});
}

.. ale to nefunguje, dostanem toto:

{"error":"render_error","reason":"function raised error: (new TypeError("dust.compile is not a function", "", 37)) nstacktrace: ("Hello, my name is {name}")@:37n("Hello, my name is {name}",[object Object],(function (err, output) {send(output);}))@:33n([object Object],[object Object])@:2napply([object Object],[object Array])@:0nrunShow(function (doc, req) {var dust = require("lib/dust");dust.renderSource("Hello, my name is {name}", {name:"Nick"}, function (err, output) {send(output);});},[object Object],[object Array])@/usr/share/couchdb/server/main.js:886n(function (doc, req) {var dust = require("lib/dust");dust.renderSource("Hello, my name is {name}", {name:"Nick"}, function (err, output) {send(output);});},[object Object],[object Array])@/usr/share/couchdb/server/main.js:989napply(null,[object Array])@:0n("_design/ibs_policies",[object Array],[object Array])@/usr/share/couchdb/server/main.js:1401napply(null,[object Array])@:0n()@/usr/share/couchdb/server/main.js:1443n@/usr/share/couchdb/server/main.js:1454n"}

Zdá sa, že "dust.js" neodhaľuje všetky jeho funkcie, keď je importovaný ako CommonJS modul? Prečo je to tak? Ako môžem urobiť túto prácu?

odpovede:

1 pre odpoveď č. 1

Len na základe predbežného pohľadu na prachzdroj, zdá sa, že očakáva, že nájde nejaké nodejs-špecifické veci, ak to nie je spustený v prehliadači. Najmä to vyzerá, že dust.compile sa vyváža len z kódu, ktorý sa volá len ak je definovaný proces a okno isn "t. Ani jeden z nich nebude definovaný pri spustení pod zobrazovacím systémom CouchDB".