Express is a minimal and flexible Node.js web application framework. To install:
npm install express --save
Swig is a simple, powerful, and extendable JavaScript Template Engine. To install:
npm install swig --save
In this lines we are registering our swig engine in express as html and specifying our template directory
application.engine('html', swig.renderFile)
application.set('view engine', 'html')
application.set('views', __dirname + '/views')
We can configure cache in our application as follows:
application.set('view cache', false)
swig.setDefaults({cache:false})
Do not forget to set cache:true when you are going to production.
With this lines you start your server:
application.listen(3000, function(){
 console.log('Server ready and listening at: 3000')
})
Let’s consider the following server.js file where we specify an get function that renders to an index.html and displays an custom welcome message to our user:
var = require('express')
var swig = require('swig')
var application = express()
application.engine('html', swig.renderFile)
application.set('view engine', 'html')
application.set('views', __dirname + '/views')
application.set('view cache', false)
swig.setDefaults({cache:false})
application.get("/",function(request, response){
  response.render("index", {
    title: "Templating",
    person: {"name":"josdem"}
  })
})
application.listen(3000, function(){
  console.log('Server ready and listening at: 3000')
})
Here is our index.html file
<!DOCTYPE html>
<html>
  <head>
    <title>{{title}}</title>
  </head>
  <body>Welcome {{person.name}}</body>
</html>
To execute this js file type in your terminal:
npm install
node server.js
To download the project:
git clone https://github.com/josdem/ux-development.git
git fetch
git checkout templating