Express 3.x best layout implementation (template engines)
Asked Answered
C

3

9

From what I've read, ExpressJS 3, dropped support of layouts, leaving it to the template engines. So if an engine, doesn't have a support for layouts, what's the best Node.js module that will have it? Or if best sounds subjective, not best but at least a working solution?

I'm going to use Hogan.js as a template engine.

Or, maybe there's a better alternative to layouts as a concept? I find it rather helpful but will like to read about other approaches.

Centreboard answered 15/12, 2013 at 7:31 Comment(3)
generate project in terminal, jade is generate by default. I think jade is the first choice for express team (?)Foozle
Jade, even though is very readable, and it reminds me about slim and haml from ruby world, is said to be rather slow. This is why I'm trying other template engines.Centreboard
I am not sure but for v8 engine, jade is faster hogan for those tests jsperf.com/dom-vs-innerhtml-based-templating/473Foozle
A
5

There are plenty of template engines.

Here are some good ones I know:

  • Handlebars - very good extention of {{mustache}}.
  • Jade - very powerfull template engine from visionmedia (the author of express.js) and my favorite one.
  • ejs - another template engine from visionmedia.

You'll find more engines here - in this question.

Aeolian answered 15/12, 2013 at 7:43 Comment(4)
Well I've started with jade by default, but read somewhere that it's not that fast compared to others. Maybe I will end up using it in the end.Centreboard
don't use EJS, the docs aren't good and some functionality has been missing for over a year.Stole
Yes Jade is said to be very slow, but it makes typing easy. If you're fine with using HTML the way it is or you actually prefer to do so, Handlebars is probably among the top suggestions.Formulaic
I have been using Jade as it seems to be the goto template engine in the Node community. But have decided to switch to Handlebars. The shorthand notation of Jade is great, but becomes problematic when trying integrate normal HTML or namely SVG. Having to convert or escape blocks to Jade shorthand is a pain. Plus checking out Twitters Hogan.js looks promising for the frontend, can then keep consistent between server/browser.Puckett
L
4

You can take a look of the following templates that is supported in node.js:

https://github.com/joyent/node/wiki/modules#wiki-templating

Also this is benchmark that compares different types of templates according to thier rendering time

https://github.com/Deathspike/template-benchmark

My suggestion: ejs and jade is very powerful and have a lot of features and both are supported in express

Ludly answered 15/12, 2013 at 7:43 Comment(0)
P
1

I'm using express-ejs-layouts and works perfectly with underscore/lodash and ejs templates.

Pyrenees answered 3/7, 2014 at 18:50 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.