Pregunta

¿Es posible crear una aplicación expresa (nodo) sin la necesidad de un motor de plantilla como Jade o EJS? Tengo un gran proyecto de último año en la universidad y voy a usar Node, Express, Socket.io, MongoDB y WebSockets. ¡No quiero cargarme con tener que aprender un lenguaje de plantilla también!

Por defecto, express usa jade-t, -template Agregar soporte de plantilla (jade | ejs). predeterminado = jade

¿Fue útil?

Solución

¿Es posible crear una aplicación expresa (nodo) sin la necesidad de un motor de plantilla como Jade o EJS?

Sí, lo es. Puedes usar HTML. O simplemente usa EJS. EJS es un superconjunto de HTML.

¡No quiero cargarme con tener que aprender un lenguaje de plantilla también!

Puedes aprender un lenguaje de plantilla en un día. Realmente te va a ayudar. Solo hazlo. Vale la pena.

Otros consejos

Si solo desea evitar aprender otro idioma de plantilla, es posible que desee probar las plantillas subrayadas. Solo son JavaScript, que vas a aprender de todos modos.

documentcloud.github.com/underscore/#template

Puedes configurarlo con:

app.register('.html', {
    compile: function(str, options){
        var compiled = require('underscore').template(str);
        return function(locals) {
            return compiled(locals);
        };
    }
});

La forma más fácil de hacer esto sería reemplazar la línea de aplicación predeterminada ('/') ... línea con lo siguiente. Luego ponga toda la magia en index.html. Esto al menos funcionará bastante bien para una aplicación de una sola página.

con lo siguiente

app.get('/', function(request, response) {
var readFile = "index.html";
var fileContents = fs.readFileSync(readFile);

response.send(fileContents.toString());
});

La mejor opción en este momento es usar EJS (motor) y configurarlo para aceptar y renderizar HTML:

app.set('views', path.join(*__dirname*, 'views'))
app.set('view engine', 'ejs'); // template engine
app.engine('html', require('ejs').renderFile); // turn engine to use html

Nota: Todas sus puntos de vista o plantillas tienen el .html extensión.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top