JavaScript Express Basics Using Templates with Express Review Response.render

Furkan Demirtürk
Furkan Demirtürk
7,940 Points

Whats wrong?

Task want from me: Pass the posts object to your template, naming it "posts". My Code: 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('index'); });

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

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

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('index');
});
app.get('/route', (req, res) => {
  res.render('main', {posts: "posts"} );
});

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

1 Answer

Adam Beer
Adam Beer
11,304 Points

Just a typo. Use the shorthand option, like this: ('main', {posts} )