Express.js app.engine() Function
The app.engine() function is used to register the given template engine callback as ext. By default the Express itself will require() the engine based on the file extension.
Syntax:
app.engine(ext, callback)
Parameters: The ext parameter is the extension type like ejs, hbs, etc and callback is the function passed as parameter.
Return Value: It returns on Object.
Installation of express module:
- You can visit the link to Install express module. You can install this package by using this command.
npm install express
- After installing express module, you can check your express version in command prompt using the command.
npm version express
- After that, you can just create a folder and add a file for example, index.js. To run this file you need to run the following command.
node index.js
- Create a views folder and put home.html file in it with the following code:
Example 1:
Filename: home.html<
html
>
<
head
>
<
title
>app.engine() Demo</
title
>
</
head
>
<
body
>
<
h2
>EJS Engine</
h2
>
</
body
>
</
html
>
For example, to map the EJS template engine to “.html” files:
app.engine('html', require('ejs').renderFile);
Filename: index.js
var express = require( 'express' ); var app = express(); var PORT = 3000; app.engine( 'html' , require( 'ejs' ).renderFile); app.get( '/' , function (req, res) { res.render( "home.html" ) }); app.listen(PORT, function (err){ if (err) console.log(err); console.log( "Server listening on PORT" , PORT); }); |
Steps to run the program:
- Make sure you have installed express and ejs module using the following command:
npm install express npm install ejs
- Run index.js file using below command:
node index.js
Output:
Server listening on PORT 3000
- Now open your browser and go to http://localhost:3000/, you can see the following output on your browser:
EJS Engine
Example 2: Filename: home.html
< html > < head > < title >app.engine() Demo</ title > </ head > < body > < h2 >Handlebars Engine</ h2 > </ body > </ html > |
Filename: index.js
var express = require( 'express' ); var app = express(); var PORT = 3000; console.log(app.engine( 'html' , require( 'hbs' ).renderFile)); app.get( '/' , function (req, res) { res.render( "home.html" ) }); app.listen(PORT, function (err){ if (err) console.log(err); console.log( "Server listening on PORT" , PORT); }); |
Steps to run the program:
- Make sure you have installed express and hbs module using the following command:
npm install express npm install hbs
- Run index.js file using below command:
node index.js
Output:
Server listening on PORT 3000
- Now open your browser and go to http://localhost:3000/, you can see the following output on your browser:
Handlebars Engine
Reference: https://expressjs.com/en/4x/api.html#app.engine
Please Login to comment...