JavaScript Express Basics Using Templates with Express Review Response.render

Kishan S
Kishan S
15,410 Points

The second argument to render() needs to have the 'posts' variable as the value of its 'posts' attribute.

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,
you almost there, you just need to get rid of quotation marks "posts"
do it like this

 res.render('main', {posts});

or like this if you would like

 res.render('main', {posts: posts});
Kishan S
Kishan S
15,410 Points

Thanks I didn't see the posts variable.