Wie man einen LENKER Helfer global (in expressjs)
Ich habe eine ziemlich einfache LENKER helper-Datei im helpers/handlebars.js
:
var hbs = require('express-handlebars');
hbs.registerHelper("inc", function(value, options) {
return parseInt(value) + 1;
});
Jedoch, wie erwartet, ich kann nicht finden die {{#inc}}
Helfer, weil ich nicht bestanden hat, es in die res.render()
Funktion. Gibt es eine Möglichkeit, alle Helfer in meiner Datei global und "auto-enthalten"?
edit:
Nach dem Versuch @1cgonza ist genial Antwort habe ich bekommen:
hbs.registerHelper("inc", function(value, options) {
^
TypeError: undefined is not a function
Beim ausführen der app. Hier ist die app.js
:
var engine = require('express-handlebars');
require('./helpers/handlebars.js')(engine);
app.engine('hbs', engine({defaultLayout: 'layout', extname: 'hbs'}));
app.set('view engine', 'hbs');
Irgendwelche Ideen?
InformationsquelleAutor n0pe | 2015-09-22
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie versuchen, exportieren Sie Ihre Helfer, wie Sie ein Modul und fügen Sie dann in Ihre Haupt-app.js
Etwas wie dieses:
In Ihrem
helpers/handlebars.js
Dann in Ihre app.js (oder die Datei, die Sie verwenden, als der index).
Funktioniert das für Sie?
BEARBEITEN
Basiert auf der
express-handlebars
docs, ich würde die Funktion in Ihremhelpers/handlebars.js
etwas wie dies:Lassen Sie uns wissen, wenn es funktioniert.
EDIT 2:
Mir Schlecht, wickeln Ihre Helfer innerhalb einer
helpers:{}
fehlte dercreate()
Funktion in derhandelbars.js
- Datei. Ich habe bearbeitet Sie meine Vorherige Antwort, zu sehen, wo ich die Kommentar wissen, was ich Rede.Als für die
app.js
ich denke, es ist ein wenig gemischt, also lass mich umbenennen ein paar Dinge klar zu stellen:Ah, die express-LENKER hat eine weitere Möglichkeit, Helfer, ein bisschen anders als was ich gewohnt bin, finden Sie in den docs
Ich habe bearbeitet Sie meine Antwort mit einer alternative, die funktionieren sollte mit dem LENKER-Modul Sie verwenden.
Fast da 🙂 Jetzt ist es nämlich
Error: Missing helper: "inc"
. Muss ich etwas ändern inapp.js
? Ich habe ein paar extra Zeilen von meinem app.js Datei vor.Ah, ok gut. Froh, dass Sie es herausgefunden hat. Wenn Sie neugierig sind, ich habe die Lösung für das problem mit der
express-handlebars
Modul. Zumindest mit dem code, der ist an meinem Ende.InformationsquelleAutor 1cgonza
können Sie versuchen:
in helpers/handlebars.js:
in app.js:
InformationsquelleAutor Dung Vu