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