Maison  >  Article  >  interface Web  >  Le framework Nodejs Express utilise à la fois le modèle ejs et le modèle jade dans un seul project_node.js

Le framework Nodejs Express utilise à la fois le modèle ejs et le modèle jade dans un seul project_node.js

WBOY
WBOYoriginal
2016-05-16 15:23:021906parcourir

Dans certains projets, par exemple, si vous reprenez le projet de quelqu'un d'autre et que vous ne voulez pas utiliser les ejs douloureux, ou si vous ne voulez pas utiliser le jade douloureux. Si vous ne souhaitez pas réécrire la page précédente, vous devrez peut-être introduire un nouveau module ejs ou jade maintenant. Il vous suffit de suivre les deux étapes suivantes pour terminer le travail d'utilisation des deux modèles
.

1.consolidate.js

cd dans le répertoire du projet :

npm install consolidate --save

Ouvrez le app.js du projet (peut-être que le vôtre s'appelle un autre nom)

Changez app.js par l'extrait de code suivant

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

a été remplacé par

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'); 

Redémarrez simplement le projet

2.Une petite question

Le code que j'ai réellement utilisé dans l'un de mes projets A est

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'); 

Cette méthode d'écriture peut être utilisée dans le projet A, mais dans un autre projet B, on constate que le modèle de jade ne peut pas être analysé

Et dans le projet B, seul

peut être utilisé
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'); 

Comment référencer le moteur de template ejs dans le framework Express

1. Comment installer le moteur de modèles ejs dans le projet

Utilisez les commandes suivantes pour créer la structure de base du site Web dans le guide NodeJS :

microblog express -t ejs

Continuer l'exécution après avoir exécuté cette commande

cd microblog && npm install (propriétés de dépendance du projet d'installation), a constaté que le moteur de modèle installé est jade, pas ejs. La raison est que la version actuelle n'a plus la commande -t, elle est remplacée par

express -e microblog

Après avoir exécuté cette commande, continuez à exécuter cd microblog && npm install, et le moteur de modèle ejs sera installé

Mais les versions d'express3 et supérieures annulent la mise en page par défaut, donc layout.ejs n'est pas généré dans le dossier vues.

2. Après avoir installé ejs, comment utiliser le modèle de mise en page ejs

Installer express-partials

Basculez vers le répertoire du projet dans cmd et exécutez npm install express-partials ou

Ajoutez "express-partials": "*" aux dépendances dans package.json. Exécutez ensuite npm install dans le répertoire du projet.

Ensuite, citez les express-partials dans app.js, en citant la méthode :

1. Ajouter une référence var partials = require('express-partials');

2. Ajoutez app.use(partials());
ci-dessous app.set('view engine', 'ejs');

Mise en page de l'appel : 'nom du modèle' où le modèle doit être référencé Exemple

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

Le contenu ci-dessus vous présente l'utilisation du modèle ejs et du modèle jade dans un projet du framework Nodejs express. J'espère qu'il vous plaira.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn