Express.js app.engine() Function - GeeksforGeeks

03 Jul, 2020
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 expressAfter installing express module, you can check your express version in command prompt using the command.npm version expressAfter 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.jsCreate 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>
You can visit the link to Install express module. You can install this package by using this command.npm install express
npm install express
After installing express module, you can check your express version in command prompt using the command.npm version express
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
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>
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.jsOutput: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

Make sure you have installed express and ejs module using the following command:npm install express
npm install ejs

npm install express
npm install ejs

Run index.js file using below command:node index.jsOutput:Server listening on PORT 3000

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

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.jsOutput: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

Make sure you have installed express and hbs module using the following command:npm install express
npm install hbs

npm install express
npm install hbs

Run index.js file using below command:node index.jsOutput:Server listening on PORT 3000

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

Handlebars Engine

Reference: https://expressjs.com/en/4x/api.html#app.engine
Express.js
Node.js
Web Technologies
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Express.js express.Router() Function
JWT Authentication with Node.js
Express.js req.params Property
Mongoose Populate() Method
Difference between npm i and npm ci in Node.js
Roadmap to Become a Web Developer in 2022
How to fetch data from an API in ReactJS ?
Top 10 Projects For Beginners To Practice HTML and CSS Skills
Convert a string to an integer in JavaScript
How to insert spaces/tabs in text using HTML/CSS?