Dieser Artikel stellt hauptsächlich den detaillierten Code von Express mithilfe einer HTML-Vorlage vor. Jetzt teile ich ihn mit Ihnen und gebe ihn als Referenz. Folgen wir dem Editor und werfen wir einen Blick darauf.
Express verwendet standardmäßig die Jade-Vorlage und kann so konfiguriert werden, dass es die Verwendung von EJS- oder HTML-Vorlagen unterstützt.
1. Ejs installieren
Ejs im Projektstammverzeichnis installieren.
npm install ejs
2. Ejs einführen
var ejs = require('ejs'); //我是新引入的ejs插件
3. Stellen Sie die HTML-Engine ein
app.engine('html', ejs.__express);
Stellen Sie die Ansichts-Engine ein
app.set('view engine', 'html');
Speichern Sie den Dienst und starten Sie ihn neu, um auf die HTML-Datei zuzugreifen.
Hinweis: Auf dem von Express erstellten Server ist die HTML-Engine nicht konfiguriert. Fügen Sie sie einfach direkt hinzu, und ändern Sie einfach die Konfiguration.
---------------- ------ ----------------------------------------
Was haben Sie mit diesen geänderten Einstellungen gemacht?
Warum müssen Sie der HTML-Engine Einstellungen hinzufügen, nachdem Sie die Ansichts-Engine geändert haben?
Werfen wir zunächst einen Blick auf die .engine()-Methode.
app.engine(ext, callback);
Express verwendet standardmäßig die Jade-Vorlage. Wenn Sie versuchen, die Datei „foo.jade“ zu laden, ruft Express intern die folgenden Vorgänge auf.
app.engine('jade', require('jade').__express);
Wenn Sie andere Template-Engines verwenden möchten, z. B. die Zuordnung von EJS-Vorlagen zu „.html“-Dateien:
app.engine('html', require('ejs').__express);
In dieser Codezeile befindet sich die .renderFile()-Methode von EJS Eigentlich heißt ejs.__express ein anderer Name für diese Methode in EJS.
Da die geladene Vorlagen-Engine dieselbe Methode .__express aufruft, müssen Sie dieses Element nicht konfigurieren, wenn Sie eine EJS-Vorlage verwenden.
Zusammenfassung: Bei Verwendung einer HTML-Vorlage müssen Sie app.engine('html', require('ejs').__express); hinzufügen.
Bei Verwendung einer EJS-Vorlage ist dies nicht erforderlich um dieses Element zu konfigurieren.
Wenn Sie zu diesem Zeitpunkt eine index.html-Datei oder eine index.ejs-Datei im Ansichtenordner erstellen, wird weiterhin auf die Standarddatei index.jade zugegriffen. Warum ist das so? Worüber ich hier sprechen möchte, ist die zweite oben erwähnte Einstellung app.set('view engine', 'html');
app.set(name, value);
Unter den Parametern der .set()-Methode ist ein Element „View Engine“, das das Engine-Plug-in angibt, das standardmäßig verwendet wird, wenn das Dateivorlagenformat nicht angegeben ist. Wenn dies auf eine HTML-Datei festgelegt ist, müssen Sie beim Festlegen der Route zur Angabe der Datei nur den Dateinamen eingeben und die entsprechende HTML-Datei wird gefunden. Zu diesem Zeitpunkt war meine Fantasie weit geöffnet und ich versuchte, drei Dateien test.jade, test.ejs und test.html in Ansichten zu erstellen. Die Routing-Einstellungen sind wie folgt. Der Zugang ist normal! Jede Route verweist auf die entsprechende Datei. Natürlich ist diese Schreibweise überhaupt nicht empfehlenswert und entspricht nicht der Realität.
router.get('/test/',function(req, res, next){ res.render('test', {title: 'HTML'}); }); router.get('/test1/',function(req, res, next){ res.render('test.ejs', {title: 'EJS'}); }); router.get('/test2/',function(req, res, next){ res.render('test.jade', {title: 'jade}); });
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
Analyse der modularen Entwicklung mit Requirejs in HTML
Das obige ist der detaillierte Inhalt vonExpress-Code-Analyse mithilfe einer HTML-Vorlage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!