JavaScript Express Basics Using Templates with Express Review Response.render

Akshit Jindal
Akshit Jindal
1,341 Points

I am writing the code as said i.e res.render('main',{posts:"posts"});.

As per the question, we have to pass posts object whose values has to be posts only. I am doing the same but I am getting error.

app.js
const express = require('express');
const posts = require('./mock/posts.json');

const app = express();

app.set('view engine', 'pug');
app.set('views', __dirname + '/templates')

app.get('/', (req, res) => {
  res.render('main',{posts:"posts"});
});

app.listen(3000, () => {
  console.log("The frontend server is running on port 3000!");
});

1 Answer

Hi Jindal, this challenge is quite confusing even for me when I first did this course weeks ago. The 'posts' variable is a required json file stored in a constant. All you need do is pass in 'posts' in object literals as the second argument of the 'render' method.

app.get('/', (req, res) => {
  res.render('main',{posts});
});