Esta traducci贸n proporcionada por StrongLoop / IBM.

Este documento puede estar desfasado respecto a la documentaci贸n en ingl茅s. Para ver las 煤ltimas actualizaciones, consulte la documentaci贸n en ingl茅s.

Desarrollo de motores de plantilla para Express

Utilice el m茅todo app.engine(ext, callback) para crear su propio motor de plantilla. ext hace referencia a la extensi贸n de archivo y callback es la funci贸n de motor de plantilla, que acepta los siguientes elementos como par谩metros: la ubicaci贸n del archivo, el objeto options y la funci贸n callback.

El siguiente c贸digo es un ejemplo de implementaci贸n de un motor de plantilla muy simple para la representaci贸n de archivos .ntl.


var fs = require('fs'); // this engine requires the fs module
app.engine('ntl', function (filePath, options, callback) { // define the template engine
  fs.readFile(filePath, function (err, content) {
    if (err) return callback(new Error(err));
    // this is an extremely simple template engine
    var rendered = content.toString().replace('#title#', ''+ options.title +'')
    .replace('#message#', '

'+ options.message +'

'); return callback(null, rendered); }); }); app.set('views', './views'); // specify the views directory app.set('view engine', 'ntl'); // register the template engine

La aplicaci贸n ahora podr谩 representar archivos .ntl. Cree un archivo denominado index.ntl en el directorio views con el siguiente contenido.


#title#
#message#

A continuaci贸n, cree la ruta siguiente en la aplicaci贸n.


app.get('/', function (req, res) {
  res.render('index', { title: 'Hey', message: 'Hello there!'});
});

Cuando realice una solicitud a la p谩gina de inicio, index.ntl se representar谩 como HTML.