What’s happening:
I wrote the code for the route, but when I visit it in my browser I get “Not Found” printed on the browser window.
My code so far
const express = require("express");
const app = express();
const homePath = `${__dirname}/views/index.html`;
const assetsPath = `${__dirname}/public/`;
require("dotenv").config();
app.use((req, res, next) => {
const str = `${req.method} ${req.path} - ${req.ip}`;
console.log(str);
next();
});
app.use("/public", express.static(assetsPath));
app.get("/now", (req, res, next) => {
req.time = new Date();
req.time += 20000;
req.time = req.time.toString();
next()
}, (req, res) => {
res.json({time: req.time});
});
app.get("/:word/echo", (req, res) => {
const { word } = req.params;
res.json({echo: word});
});
app.get("/", (req, res) => res.sendFile(homePath));
app.get("/json", (req, res) => {
const message = "Hello json";
const messageUpper = message.toUpperCase();
if (process.env.MESSAGE_STYLE === "uppercase") {
res.json({"message": messageUpper});
} else {
res.json({"message": message});
}
});
Browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36 Edg/88.0.705.74.
Challenge: Get Route Parameter Input from the Client
Link to the challenge: