Ich möchte EJS für Teil- und verwenden Jade für einzelne Seiten, wie Sie beide in einem NodeJs & Express Projekt verwenden?wie man ejs und jade in einem nodejs & express projekt verwendet?
Antwort
Es ist einfach die Art und Weise in expressjs api docs und consolidate.js bei Github das Express.js doc Fragment
Referenz unten zu finden, benutzen Sie bitte
app.engine (ext, Rückruf)
Registrieren Sie die angegebene Vorlage Engine Callback als Ext. Standardmäßig wird() die Engine basierend auf der Dateierweiterung benötigt. Wenn Sie beispielsweise versuchen, eine Datei "foo.jade" zu rendern, ruft Express intern Folgendes auf und speichert require() bei nachfolgenden Aufrufen, um die Leistung zu erhöhen.
app.engine('jade', require('jade').__express);
Für Motoren, die .__ ausdrücken aus der Box nicht liefern - oder wenn Sie eine andere Erweiterung der Template-Engine auf „Karte“ können Sie diese Methode verwenden. Zum Beispiel der Abbildung der EJS Template-Engine auf ".html" -Dateien:
app.engine('html', require('ejs').renderFile);
In diesem Fall EJS eine .renderFile() Methode mit der gleichen Signatur bereitstellt, die Express erwartet: (Pfad, Optionen, Rückruf), obwohl Note dass es diese Methode als ejs __ intern ausgibt, also wenn Sie ".ejs" -Erweiterungen verwenden, müssen Sie nichts tun.
Einige Template-Engines folgen dieser Konvention nicht, die Bibliothek consolidate.js wurde erstellt, um alle gängigen Template-Engines des Knotens nach dieser Konvention abzubilden, so dass sie nahtlos in Express arbeiten können.
var engines = require('consolidate');
app.engine('haml', engines.haml);
app.engine('html', engines.hogan);
Aber brauche ich nicht 'express.set ('view engine', 'ext');' irgendwo? – theonlygusti
@theonlygusti Können Sie das näher ausführen? Ich versuche, dies zum Laufen zu bringen und nicht sicher, ob eine standardmäßige 'view engine' benötigt wird, wenn' consolidate' verwendet wird? Ich bin in der Dokumentation, so würde ein Zeiger auf den Verweis geschätzt werden, wenn Sie einen haben. Vielen Dank. –
Dies funktioniert für meine:
- Mops und ejs hinzufügen als
index.js macht
const express = require('express');
const path = require('path');
const app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
app.set('view engine', 'ejs');
- Aufruf Rendern mit einem Dateinamen.filetext.
Routen/users
const express = require('express');
const router = express.Router();
router.get('/', function (req, res, next) {
res.render('users.ejs');
});
module.exports = router;
Routen/über
const express = require('express');
const router = express.Router();
router.get('/', function (req, res, next) {
res.render('about.pug');
});
module.exports = router;
Vielen Dank für den neuen Namen 'Mops'. Ich bin neu in diesem Zeug. Haben Sie Tests mit 'consolidate.js' durchgeführt? Ich denke, das ist der Weg, den ich nehmen muss, da ich versuche, eine einzige Variable für das Front-End mit 'ejs' bereitzustellen. –
ich habe mit mocha + assert getestet – joseAndresGomezTovar
Ich schaute auf 'consolidate.js' aber am besten konnte ich sagen, es lässt mich nicht mischen Ansätze auf einer einzigen Seite zu mischen. Da ich bereits 'PUG' verwendet habe, bin ich auf die AJAX-Route gegangen, um meine Daten zu bekommen. Overkill.... –
- 1. Wie verwendet man Underscore-Vorlagen anstelle von Jade in Express?
- 2. Wie kann dieses Ejs in Jade aussehen?
- 3. Express und ejs <% = JSON
- 4. Jade-Ausgabe auf nodejs
- 5. Wie fusioncharts.js in Node Express-Projekt mit Jade ordnungsgemäß enthalten?
- 6. nodejs ejs enthalten unerwartete idenfier
- 7. Konvertieren von EJS-Code in Jade
- 8. Wie Array in Express ejs Vorlage Diplay
- 9. Kann ich meinen Nodejs/Express/Jade-Stack sinnvolle Syntaxfehler melden?
- 10. node.js/Jade - Wie man Jade-Dateien vorkompiliert und zwischenspeichert?
- 11. NodeJS + Express: Wie man eine URL sichern
- 12. Formulardaten in nodeJS mit Jade erhalten
- 13. NodeJS express Umleitung aus einem Event-Handler
- 14. Knoten, Express, Jade Dropdown
- 15. Node, Express, Ajax und Jade Beispiel
- 16. (NodeJs, Express) einschließlich einer EJS-Datei mit nur Funktionen führt zu einem Fehler
- 17. Daten in einem EJS erhalten Include mit Express-Partials
- 18. Zwei Express "Apps" in einem NodeJS Server?
- 19. Bild einfügen mit Jade und NodeJS
- 20. wie Körper-Parser-Fehler in Express NodeJS
- 21. NodeJS und angular 2 Projekt
- 22. Downgrade NodeJs Version und Express Version
- 23. Update-Wert von JavaScript-Variable in Jade verwendet
- 24. , welche Schritte unternommen werden können, um Jade Vorlage Rendering Leistung in Express zu verbessern NodeJS
- 25. NodeJs & Express
- 26. Wie verwendet man Jquery-Plugins in Nodejs und ES6-Import?
- 27. Wie man Knoten-dbox Token zwischen Seitenaktualisierungen in NodeJS/Express
- 28. Wie verwendet man Methode node.js mit express für Update-Informationen
- 29. MongoDB & NodeJS: Wie man ein bestimmtes Feld auf einer Jade-Datei auf einem Server anzeigt
- 30. Aktivieren Sie CORS in Nodejs mit EJS-Vorlage
ich diese Antwort vielleicht denken Sie helfen: http://stackoverflow.com/a/15064438/1266006 –
Aus Neugier, warum möchten Sie es tun? – esp
Für Partials verwenden Sie einfach die Handlerbars, um Variablen schnell und ausreichend zu ersetzen. Für komplexe Seiten wird eine leistungsfähige Template-Engine benötigt. das hängt davon ab.Ich habe es herausgefunden und werde es teilen –