Open In App

Express.js app.engine() Function

Improve
Improve
Like Article
Like
Save
Share
Report

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 a parameter. 

Return Value: It returns an Object. 

Installation of the express module:

You can visit the link to Install the express module. You can install this package by using this command.

npm install express

After installing the express module, you can check your express version in the 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

Project Structure:

Create a views folder and put a home.html file in it with the following code: 

Example 1: Filename: home.html 

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 

javascript




const express = require('express');
const app = express();
const 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 the express and ejs modules using the following command:

npm install express
npm install ejs

Run the index.js file using the below command:

node index.js

Output:

Console Output:

Server listening on PORT 3000

Browser Output:

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




<html>
<head>
    <title>app.engine() Demo</title>
</head>
 
<body>
    <h2>Handlebars Engine</h2>
</body>
</html>


Filename: index.js 

javascript




const express = require('express');
const app = express();
const 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 the express and hbs modules using the following command:

npm install express
npm install hbs

Run the index.js file using the below command:

node index.js

Output:

Console Output:

Server listening on PORT 3000

Browser Output:

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



Last Updated : 20 Mar, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads