Maison  >  Article  >  interface Web  >  Analyse de code express à l'aide d'un modèle HTML

Analyse de code express à l'aide d'un modèle HTML

不言
不言original
2018-06-11 17:20:061551parcourir

Cet article présente principalement le code détaillé d'Express à l'aide d'un modèle HTML. Le contenu est assez bon. Maintenant, je le partage avec vous et le donne comme référence. Suivons l'éditeur et jetons un coup d'œil.

Express utilise le modèle jade par défaut et peut être configuré pour prendre en charge l'utilisation de modèles ejs ou html.

1. Installez ejs

Installez ejs dans le répertoire racine du projet.

npm install ejs

2. 🎜 >

var ejs = require('ejs'); //我是新引入的ejs插件
3. Définissez le moteur HTML

Définissez le moteur d'affichage
app.engine('html', ejs.__express);

Enregistrez et redémarrez le service pour accéder au fichier html.
app.set('view engine', 'html');

Remarque : Dans le serveur construit par express, le moteur html n'est pas configuré, il suffit de l'ajouter directement ; le moteur de vue a été configuré, il suffit de modifier la configuration.

------------------------------------------------------ ------ ---------------------------------------------

Qu'avez-vous fait de ces paramètres modifiés ?

Pourquoi devez-vous ajouter des paramètres au moteur HTML après avoir modifié le moteur d'affichage ?

Jetons d'abord un coup d'œil à la méthode .engine().

Express utilise le modèle jade par défaut. Si vous essayez de charger le fichier "foo.jade", Express appellera en interne les opérations suivantes.
app.engine(ext, callback);

Si vous souhaitez utiliser d'autres moteurs de modèles, tels que le mappage de modèles EJS vers des fichiers ".html" :
app.engine('jade', require('jade').__express);

Dans cette ligne de code, le .renderFile d'EJS est en fait méthode appelée (), ejs.__express est un autre nom de cette méthode dans EJS.
app.engine('html', require('ejs').__express);

Parce que le moteur de modèle chargé appelle la même méthode .__express, donc si vous utilisez un modèle ejs, vous n'avez pas besoin de configurer cet élément.

Résumé : lors de l'utilisation d'un modèle HTML, vous devez ajouter app.engine('html', require('ejs').__express);

Lors de l'utilisation du modèle EJS, il n'est pas nécessaire pour configurer cet élément.

À ce stade, si vous créez un fichier index.html ou un fichier index.ejs dans le dossier vues, le fichier index.jade par défaut sera toujours accessible. Pourquoi est-ce ? Ce dont je veux parler ici, c'est du deuxième paramètre mentionné ci-dessus app.set('view engine', 'html');

app.set(name, value);

Parmi les paramètres de la méthode .set(), un élément est 'view engine', qui indique le plug-in du moteur utilisé par défaut lorsque le format du modèle de fichier n'est pas spécifié. S'il s'agit d'un fichier HTML, lors de la définition de l'itinéraire pour spécifier le fichier, il vous suffit d'écrire le nom du fichier et le fichier HTML correspondant sera trouvé. À ce stade, mon imagination était grande ouverte et j'ai essayé de créer trois fichiers test.jade, test.ejs et test.html dans les vues. Les paramètres de routage sont les suivants. L'accès est normal ! Chaque itinéraire pointe vers le fichier correspondant. Bien entendu, cette manière d’écrire n’est pas du tout recommandée et n’est pas conforme à la réalité.

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !
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});
});

Recommandations associées :

Analyse du développement modulaire à l'aide de Requirejs en Html


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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