Heim >Web-Frontend >HTML-Tutorial >Express-Code-Analyse mithilfe einer HTML-Vorlage

Express-Code-Analyse mithilfe einer HTML-Vorlage

不言
不言Original
2018-06-11 17:20:061630Durchsuche

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!

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