I am doing a site as of my studies.
The technology being free, I decided to code with nodejs/Express.
For my first route /home, everything went well. But I can’t create others.
Yet I thought I understood the system well. It would bother me if it was due to a silly error because I have been on this problem for too long 😋.
index.js :
const express = require('express');
const app = express();
app.set('view engine', 'ejs');
const PORT = process.env.PORT || 4242;
app.use('/', require('./routes/home_route'));
app.use('/auther', require('./routes/auther_route')); //the problem 😡
app.listen(PORT, () => {
console.log(`localhost:${PORT}`);
});
app.use('/styles', express.static(__dirname + '/styles'));
app.use('/scripts', express.static(__dirname + '/scripts'));
app.use('/pictures', express.static(__dirname + '/pictures'));
home_route.js :
const express = require('express');
const { homeView } = require('../controllers/home_controller');
const router = express.Router();
router.get('/home', homeView);
router.get('/', (req, res) => res.redirect('./home'));
module.exports = router;
home_controller.js :
let page = 'home_view.ejs';
const homeView = (req, res) => {
res.render("constant_view.ejs", { page : page });
}
module.exports = { homeView };
constant_view.ejs :
html... <%= page %> html...
And all this is very good. And now this is what does not work 😭.
auther_route.js :
const express = require('express');
const { autherView } = require('../controllers/auther_controller');
const router = express.Router();
router.get('/auther', autherView);
module.exports = router;
auther_controller.js :
let page = 'auter_view.ejs';
const autherView = (req, res) => {
res.render("constant_view", { page : page });
}
module.exports = { autherView };
Thank you in advance for your time and your answers.
Advertisement
Answer
you are trying to reach the route /auther in index.js, but inside auther_route you create a route with /auther as well. So in index.js you should add /auther/auther or just change to app.use('/', require('./routes/auther_route'));
Regards
