Express.js and Moustache
First intall Express.js generator:
npm install express-generator -g
Display the command options with the -h option:
express -h
Create application:
express myapp
Then install dependencies:
cd myapp npm install
Run the app (on MacOS or Linux):
$ DEBUG=myapp npm start
In app.js default view engine by default is Jade:
app.set('view engine', 'jade');
First we need install this extension node-mustache-express:
npm install mustache-express --save
And then add in app.js:
var mustacheExpress = require('mustache-express'); ... app.engine('mustache', mustacheExpress()); app.set('view engine', 'mustache'); ...
Into directory ‘views/templates’ we create this file named ‘index.mustache’:
<pre>
<p>Welcome to {{title}}!</p>
</pre>
Go to http://localhost:3000 and see the resutl.
Let’s do a new sample:
In file ‘routes/index.js’:
var express = require('express'); var router = express.Router(); var lusers=[ { name: 'Linus Torvalds', so: 'Linux' }, { name: 'Bill Gates', so: 'Windows XP' } ]; router.get('/', function(req, res, next) { res.render('index', { title: 'Express', lusers: lusers }); }); module.exports = router;
And in file ‘views/index.mustache’:
<p>Welcome to {{ title }}</p>
<ul>
{{#lusers}}
<li>{{name}} - {{so}}</li>
{{/lusers}}
</ul>
</pre>
Now is time to play with {{ mustache }}!