Développement de moteurs de gabarits pour Express
Utilisez la méthode app.engine(ext, callback) pour créer votre propre moteur de template. ext fait référence à l’extension de fichier, et callback est la fonction du moteur de gabarit, qui accepte les éléments suivants comme paramètres: l’emplacement du fichier, l’objet d’options et la fonction de rappel.
Le code suivant est un exemple d’implémenter un moteur de gabarit très simple pour le rendu des fichiers .ntl.
const fs = require('fs'); // this engine requires the fs moduleapp.engine('ntl', (filePath, options, callback) => { // define the template engine fs.readFile(filePath, (err, content) => { if (err) return callback(err); // this is an extremely simple template engine const rendered = content .toString() .replace('#title#', `<title>${options.title}</title>`) .replace('#message#', `<h1>${options.message}</h1>`); return callback(null, rendered); });});app.set('views', './views'); // specify the views directoryapp.set('view engine', 'ntl'); // register the template engineVotre application sera maintenant en mesure d’afficher les fichiers .ntl. Créez un fichier nommé index.ntl dans le dossier views avec le contenu suivant.
#title##message#Ensuite, créez la route suivante dans votre application.
app.get('/', (req, res) => { res.render('index', { title: 'Hey', message: 'Hello there!' });});Lorsque vous faites une requête sur la page d’accueil, index.ntl sera rendu en HTML.