exphbs
v1.2.0
Published
A Handlebars view engine for Express 4.x/3.x, with Node.js and io.js support
Downloads
1,108
Maintainers
Readme
exphbs
A Handlebars view engine for Express.
Features
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
andhtml
) - 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
Getting started
Installation:
$ npm install exphbs
Registering view engine:
app.engine('hbs', require('exphbs'));
app.set('view engine', 'hbs');
Default directory structure:
.
├── app.js
└─┬ views/
├── index.hbs
├── helpers/
├── layouts/
└── partials/
Example
Check out example directory for a complete example. You can play around with it on Runnable.
Docs
Tests
$ npm install
$ npm test
License
MIT