0

I was just trying to to wire my express app with template/view engines and when it comes to "hbs" it's Working fine but when I try to render using ejs templating engine it's not working as i expected and i can't find any problem in the code....need some help

Here is the Code i wrote:

const path = require("path");
const express = require("express");

const app = express();

const helmet = require("helmet");
app.use(helmet());

app.use(express.static("public"));

app.use(express.json());

app.use(express.urlencoded());

app.set("view engine", "ejs");
app.set("views", path.join(__dirname, "views"));

app.get("/", (req, res, next) => {
  //   res.send("Sanity Check");
  //   res.json({ msg: "sucess" });
  res.render("index");
});

app.listen(3000);

and The Error that I encounter is this:

Error: Cannot find module 'ejs'
Require stack:
- C:\Users\A\node_modules\express\lib\view.js
- C:\Users\A\node_modules\express\lib\application.js
- C:\Users\A\node_modules\express\lib\express.js
- C:\Users\A\node_modules\express\index.js
- C:\Users\A\Desktop\Express\Just Express\express201\rendering.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
    at Function.Module._load (internal/modules/cjs/loader.js:746:27)
    at Module.require (internal/modules/cjs/loader.js:974:19)
    at require (internal/modules/cjs/helpers.js:92:18)
    at new View (C:\Users\A\node_modules\express\lib\view.js:81:14)
    at Function.render (C:\Users\A\node_modules\express\lib\application.js:587:12)
    at ServerResponse.render (C:\Users\A\node_modules\express\lib\response.js:1039:7)
    at C:\Users\A\Desktop\Express\Just Express\express201\rendering.js:21:7
    at Layer.handle [as handle_request] (C:\Users\A\node_modules\express\lib\router\layer.js:95:5)
    at next (C:\Users\A\node_modules\express\lib\router\route.js:144:13)
Gudisa11
  • 1
  • 1

1 Answers1

0

Have you installed the ejs library before?

Try to install, npm install ejs

Fauzan DP
  • 51
  • 4