R M
R M

Reputation: 43

Rendering a view in express.Router()

I'm trying to render EJS in a file that uses express.Router(), but I don't know how I would do that, since something like router.set('view engine', 'ejs') doesn't exist. How would I render my view?

Upvotes: 2

Views: 2443

Answers (2)

Sumit Kumar
Sumit Kumar

Reputation: 813

First you need to set view engine to express object.

var express = require("express");
var app = express();
app.set('view engine', 'ejs');

Then in route file you can render ejs template like this.

var express = require("express");
var router = express.Router();
router.get('/show_url', (req, res)=>{
    let data = {} //some data if have any
    res.render(ejs_template_file, {data})
})

Upvotes: 1

Saad Ahmad
Saad Ahmad

Reputation: 1

you should set the view engine through app.use('view engine', 'ejs') and then within a route render something like res.render('view_file')

Upvotes: 0

Related Questions