Der Template-Engine-Code von KoaHub.js wurde basierend auf der Koa-Plattform Node.js
entwickeltKoahub-Lenker
Koahub-Lenker
Koahub-Lenker-Vorlagen
Installation
$ npm install koahub-lenker
Zur Verwendung mit Koa
var koa = require('koa');
var hbs = require('koahub-lenker');
var app = koa();
// koahub-lenker ist Middleware. „Verwenden“ Sie es, bevor Sie eine Ansicht rendern möchten
app.use(hbs.middleware({
viewPath: __dirname '/views'
}));
// Render wird an den Koa-Kontext angehängt. Rufen Sie „this.render“ in Ihrer Middleware auf
// um gerenderten HTML-Code an den Koa-Antworttext anzuhängen.
app.use(function *() {
yield this.render('index', {title: 'koahub-handlebars'});
})
app.listen(3000);
Helfer registrieren
Helfer werden mit der Methode #registerHelper registriert. Hier ist ein Beispiel für die Verwendung der Standardinstanz (Helper aus offiziellen Lenkerdokumenten gestohlen:
hbs = require('koahub-lenker');
hbs.registerHelper('link', function(text, url) {
text = hbs.Utils.escapeExpression(text);
url = hbs.Utils.escapeExpression(url);
var result = '' Text '';
return new hbs.SafeString(result);
});
Ihr Helfer ist dann in allen Ansichten über {{link "Google" "http://google.com"}}
zugänglich
Die Methoden „registerHelper“, „Utils“ und „SafeString“ stellen alle einen Proxy für eine interne Handlers-Instanz dar. Wenn Sie eine alternative Instanz von „Lenkers“ an den Middleware-Konfigurator übergeben, stellen Sie sicher, dass Sie dies tun, bevor Sie Helfer über den Koahub-Handlebars-Proxy der oben genannten Funktionen registrieren, oder registrieren Sie Ihre Helfer einfach direkt über Ihre Instanz von „Lenkers“.
Sie können auch in Ihrem Helfer auf den aktuellen Koa-Kontext zugreifen. Wenn Sie einen Helfer haben möchten, der die aktuelle URL ausgibt, können Sie einen Helfer wie den folgenden schreiben und ihn in jeder Vorlage als {{requestURL}} aufrufen.
hbs.registerHelper('requestURL', function() {
var url = hbs.templateOptions.data.koa.request.url;
Rückgabe-URL;
});
Teilweise registrieren
Die einfache Möglichkeit, Partials zu registrieren, besteht darin, sie alle in einem Verzeichnis abzulegen und beim Generieren der Middleware die Option „partialsPath“ zu übergeben. Angenommen, Ihre Ansichten befinden sich in ./views und Ihre Teilansichten in ./views/partials. Konfigurieren der Middleware über
app.use(hbs.middleware({
viewPath: __dirname '/views',
partialsPath: __dirname '/views/partials'
}));
Dadurch werden sie automatisch registriert. Alternativ können Sie Partials einzeln registrieren, indem Sie hbs.registerPartial aufrufen, das als Proxy für die zwischengespeicherte Handlebars-Methode #registerPartial fungiert.
Layouts
Die Übergabe von defaultLayout mit einem Layoutnamen führt dazu, dass alle Vorlagen in den {{{body}}}-Ausdruck des Layouts eingefügt werden. Dies könnte wie folgt aussehen.
{{{body}}}