Codigo Logo

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':

<p>Welcome to {{title}}!</p>

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>

Now is time to play with {{ mustache }}!

Express.js and Moustache