In this article, I am going to show you how we can setup Express middleware on Nodejs. Express is a lightweight web application framework for Nodejs that provides a robust set of features for web and mobile applications. The following steps are used for working with Expressjs:
1. Create a folder on C:\ name it expressdemo2. Move into that folder and run the following commands:
npm install --save express
npm install --save ejs
3. Once these packages are installed, then create a subfolder named "views" inside that expressdemo folder.
4. Create a simple "hello.html" file inside the "views" folder.
5. Now create expressdemo.js in the "expressdemo" folder with the following code:
var express = require('express');
var bodyParser = require('body-parser')
var app = express();
app.use(express.static('public'));
app.use(bodyParser.json() ); // to support JSON-encoded bodies
app.use(bodyParser.urlencoded({ // to support URL-encoded bodies
extended: true
}));
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
app.set('view engine', 'ejs');
app.engine('html', require('ejs').renderFile);
// 1. Get Action
app.get('/', function (req, res) {
res.send('Hello World! from Express");
});
// 2. Get action to render an html file
app.get('/hello', function (req, res) {
res.render('hello.html');
});
The above code does the following:a. It loads the required npm packages in the expressdemo.js file.
b. Then we start the express to start listening on port number 3000 for the http requests.
c. We also set the view engine to "ejs" templating.
d. Lastly we create two routes named "/" and "/hello". In the first one we are trying to send the response back in the form of text. And in the second case we are trying to render an html file named "hello.html" which should be present in the "views" folder.
In order to run the this, we will use the following command:
node expressdemo.js
Once this server runs, we can access it from the browser like:
http://localhost:3000/
The output will be "Hello World! from Express"
In case we run the second route i.e.
http://localhost:3000/hello
The output will be actual rendering of the "hello.html" file.
Happy Coding! | dhandrohit@gmail.com
Comments