Heim  >  Artikel  >  Web-Frontend  >  Das Express-Framework von Nodejs verwendet sowohl die EJS-Vorlage als auch die Jade-Vorlage in einem project_node.js

Das Express-Framework von Nodejs verwendet sowohl die EJS-Vorlage als auch die Jade-Vorlage in einem project_node.js

WBOY
WBOYOriginal
2016-05-16 15:23:021922Durchsuche

Bei einigen Projekten, zum Beispiel, wenn Sie das Projekt eines anderen übernehmen und die schmerzhaften EJs nicht verwenden möchten, oder wenn Sie die schmerzhaften Jade nicht verwenden möchten. Wenn Sie die vorherige Seite nicht neu schreiben möchten, müssen Sie möglicherweise jetzt ein neues EJS- oder Jade-Modul einführen. Sie müssen nur die folgenden zwei Schritte ausführen, um die Arbeit der Verwendung der beiden Vorlagen abzuschließen

1.consolidate.js

cd zum Projektverzeichnis:

npm install consolidate --save

Öffnen Sie die app.js des Projekts (vielleicht heißt Ihr Projekt anders)

Ändern Sie app.js in das folgende Code-Snippet

app.set('view engine', 'jade');

wurde in
geändert

var engines = require('consolidate');
app.engine('jade', engines.jade);
app.engine('html', engines.ejs);
// or use these
// app.engine('jade', require('jade').__express);
// app.engine('html', require('ejs').renderFile);
app.set('view engine', 'jade'); 

Starten Sie einfach das Projekt neu

2. Eine kleine Frage

Der Code, den ich tatsächlich in einem meiner Projekte A verwendet habe, ist

var engines = require('consolidate');
app.engine('jade', engines.jade);
app.engine('html', engines.ejs);
// app.engine('jade', require('jade').__express);
// app.engine('html', require('ejs').renderFile);
app.set('view engine', 'jade');
//多出以下一行
app.set('view engine', 'html'); 

Diese Schreibmethode kann in Projekt A verwendet werden, aber in einem anderen Projekt B wurde festgestellt, dass die Jade-Vorlage nicht analysiert werden kann

Und in Projekt B kann nur

verwendet werden
var engines = require('consolidate');
app.engine('jade', engines.jade);
app.engine('html', engines.ejs);
app.set('view engine', 'jade');
//或者
//app.engine('jade', require('jade').__express);
//app.engine('html', require('ejs').renderFile);
//app.set('view engine', 'jade'); 

So referenzieren Sie die EJS-Vorlagen-Engine im Express-Framework

1. So installieren Sie die EJS-Vorlagen-Engine im Projekt

Verwenden Sie die folgenden Befehle, um die Grundstruktur der Website im NodeJS-Leitfaden aufzubauen:

express -t ejs Microblog

Fahren Sie fort, nachdem Sie diesen Befehl ausgeführt haben

cd microblog && npm install (Installationsprojektabhängigkeitseigenschaften), festgestellt, dass die installierte Template-Engine Jade und nicht EJS ist. Der Grund dafür ist, dass es in der aktuellen Version den Befehl -t nicht mehr gibt, er wurde in
geändert

express -e Microblog

Nachdem Sie diesen Befehl ausgeführt haben, führen Sie weiterhin cd microblog && npm install aus, und die EJS-Vorlagen-Engine wird installiert

Versionen von express3 und höher brechen das Layout jedoch standardmäßig ab, sodass „layout.ejs“ nicht im Ansichtenordner generiert wird.

2. Nach der Installation von ejs, wie man die ejs-Layoutvorlage verwendet

Express-Partials installieren

Wechseln Sie in cmd zum Projektverzeichnis und führen Sie npm install express-partials aus oder

Fügen Sie „express-partials“: „*“ zu Abhängigkeiten in package.json hinzu. Führen Sie dann npm install im Projektverzeichnis aus.

Dann zitieren Sie Express-Partials in app.js, Zitiermethode:

1. Referenz hinzufügen var partials = require('express-partials');

2. Fügen Sie app.use(partials());
unten app.set('view engine', 'ejs') hinzu.

Aufruflayout:'Vorlagenname', wobei auf die Vorlage verwiesen werden muss. Beispiel

app.get('/reg', function (req, res) {
res.render('reg', {
title: '用户注册',
layout: 'template'
}); 
}); 

Der obige Inhalt stellt Ihnen die Verwendung der EJS-Vorlage und der Jade-Vorlage in einem Projekt des Nodejs Express-Frameworks vor. Ich hoffe, es gefällt Ihnen.

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