Heim  >  Artikel  >  php教程  >  Der Template-Engine-Code von KoaHub.js wurde auf Basis der Koa-Plattform Node.js entwickelt

Der Template-Engine-Code von KoaHub.js wurde auf Basis der Koa-Plattform Node.js entwickelt

WBOY
WBOYOriginal
2016-09-30 09:22:561182Durchsuche

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.




{{title}}


{{{body}}}


Zusätzlich oder alternativ können Sie ein Layout angeben, in dem eine Vorlage gerendert werden soll. Geben Sie einfach {{!< layoutName }} irgendwo in Ihrer Vorlage. koahub-handlebars lädt Ihr Layout von „layoutsPath“, sofern definiert, oder andernfalls von „viewPath“.

Derzeit wird nur ein einzelner Inhaltsblock ({{{body}}}) unterstützt.

Optionen

Der Plan für Koahub-Lenker besteht darin, die gleiche Funktionalität wie Koa-HBS (Eventaully) zu bieten. Diese Optionen werden jetzt unterstützt.

viewPath: [erforderlich] Vollständiger Pfad, von dem aus Vorlagen geladen werden sollen (Array|String)
handlebars: Übergeben Sie Ihre eigene Instanz von handlebars
templateOptions: Hash der Lenkeroptionen zur Übergabe an template()
extname: Ändern Sie die Standardvorlagenerweiterung (Standard: '.html')
partialsPath: Vollständiger Pfad zum Partials-Verzeichnis (Array|String)
defaultLayout: Name des Standardlayouts
layoutsPath: Vollständiger Pfad zum Layouts-Verzeichnis (String)
disableCache: Vorlagen-Caching deaktivieren (Standard: '.true')
Einheimische

Lokale Anwendungsvariablen ([this.state](https://github.com/koajs/koa/blob/master/docs/api/context.md#ctxstate)) werden für alle in der Anwendung gerenderten Vorlagen bereitgestellt.

app.use(function *(next) {
this.state.title = 'Meine App';
this.state.email = 'me@myapp.com';
Ertrag als nächstes;
});
Das Statusobjekt ist ein JavaScript-Objekt. Die hinzugefügten Eigenschaften werden als lokale Variablen in Ihren Ansichten angezeigt.

{{title}}

Kontakt: {{email}}


Danke

koa-hbs

Anders

Inkrementelle Änderungen der Konfigurationsdatei
Ändern Sie einige der Funktionen und die Standardkonfiguration
...
官网:http://js.koahub.com
Der Template-Engine-Code von KoaHub.js wurde auf Basis der Koa-Plattform Node.js entwickelt

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn