express-views-dom
A DOM view engine for Express.
Now with layouts support via express-views-dom-layouts!
Installation
via npm:
$ npm install --save express-views-dom
Use
Add to your Express app as an engine for HTML files:
var app = ; app;
Simple use
"views/home.html":
JavaScript:
app;
Results in:
Home Welcome!
Loading scripts
Supports loading dependent scripts into the DOM before rendering.
Scripts can be specified in the deps
array. Each entry must have either a module
property to
include the main script of an NPM module, or otherwise a file
property specifying a script file path.
The exports
property names a global variable to inject as an argument into the render
callback.
Scripts are loaded and injected in the order they are listed.
res;
Requesting a different view
You can request rendering of another view by calling the done
callback
with a second argument specifying the name of the other view.
This will spawn a new DOM environment for the HTML of the other view,
then re-call your render
function on it. The last argument to render
is a shared object so you can pass data to the new call.
Here is an example of a basic layout system (if you're serious, consider express-views-dom-layouts):
"views/home.html":
<!-- from the home view --> Welcome!
"views/layout.html":
<!-- from the layout view -->
JavaScript:
res;
Results in:
<!-- from the layout view --> <!-- from the home view --> Welcome!