A Handlebars view engine for Express 4.x/3.x, with Node.js and io.js support
npm install exphbsA Handlebars view engine for Express.
| Node.js 9.5.0 | Node.js 8.9.4 | Node.js 7.10.1 | Node.js 6.12.3 | Node.js 5.12.0 | |
| Express 4 | ✓ | ✓ | ✓ | ✓ | ✓ |
| Express 3 | ✓ | ✓ | ✓ | ✓ | ✓ |
Layouts:
* Declaring layout with a render option or template comment ({{!< layout}})
* Nested layouts with arbitrary depth
Partials:
* Autoloading from defined directory (defaults to views/partials)
* Namespaced partial names (based on relative paths)
* Supports any file extension (defaults to hbs and html)
* Dynamically applying changes during development
Helpers:
* Autoloading from defined directory (defaults to views/helpers)
Block inheritance:
* Defining named blocks in layouts then extend them in templates
Variables:
* Defining @variables that can be accessed from any context in a template
Precompiling:
* Templates and partials are precompiled and cached in production
Instances:
* Creating a new instance of separate cache
* Instantiating with user-provided Handlebars object
Installation:
``bash`
$ npm install exphbs
Registering view engine:
`javascript`
app.engine('hbs', require('exphbs'));
app.set('view engine', 'hbs');
Default directory structure:
``
.
├── app.js
└─┬ views/
├── index.hbs
├── helpers/
├── layouts/
└── partials/
Check out example directory for a complete example. You can play around with it on Runnable.
* View engine
* Render options
* Variables
* Layouts
* Partials
* Helpers
* Block inheritance
`bash``
$ npm install
$ npm test
MIT