My FeedDiscussionsHeadless CMS
New
Sign in
Log inSign up
Learn more about Hashnode Headless CMSHashnode Headless CMS
Collaborate seamlessly with Hashnode Headless CMS for Enterprise.
Upgrade ✨Learn more

routing and rendering templates in an ExpressJs app

Emmanuel's photo
Emmanuel
·May 23, 2017

Is there a bug with express that affects the routing or rendering of templates? Maybe I'm having a brain fart. I'm sorry if this is a stupid question; it's just I've been at this for hours and I can't quite figure out what the actual problem is

When I do this:

router.get('/seemore/:id', function (req, res, next) {
  Word.findOne({_id: req.params.id}, function(err, words) {
    if(err) {
      console.log(err);
    }
    res.render('wordDetails', {words: words});
  });
});

the wordDetails.hbs gets rendered without the css and javascript files, and I get 404 messages for those files

GET /seemore/59240a202dc2a31978e1d965 304 68.131 ms - -
GET /stylesheets/style.css 404 61.411 ms - 2727
GET /seemore/css/normalize.css 404 82.526 ms - 2727
GET /seemore/css/font-awesome.css 404 127.066 ms - 2727
GET /seemore/css/propertyDetails.css 404 160.240 ms - 2727
GET /seemore/css/component.css 404 196.128 ms - 2727
GET /seemore/css/touchTouch.css 404 221.814 ms - 2727
GET /seemore/css/responsive.css 404 146.160 ms - 2727
GET /seemore/js/smooth-scroll.js 404 26.146 ms - 2727
GET /seemore/js/jquery.js 404 36.262 ms - 2727
GET /seemore/js/jquery.ui.totop.js 404 80.712 ms - 2727
GET /seemore/js/tmStickUp.js 404 72.243 ms - 2727
GET /seemore/js/app.js 404 44.743 ms - 2727
GET /seemore/js/touchTouch.jquery.js 404 95.415 ms - 2727
GET /seemore/images/opeyemi.jpg 404 113.506 ms - 2727
GET /seemore/images/page3_img1.jpg 404 32.916 ms - 2727
GET /seemore/js/smooth-scroll.js 404 43.078 ms - 2727
GET /seemore/js/app.js 404 10.993 ms - 2727
GET /seemore/js/jquery.js 404 8.546 ms - 2727
GET /seemore/js/tmStickUp.js 404 9.922 ms - 2727
GET /seemore/js/jquery.ui.totop.js 404 5.528 ms - 2727
GET /seemore/js/touchTouch.jquery.js 404 9.799 ms - 2727

But when I do this:

router.get('/seemore', (req, res, next) => {
  res.render('wordDetails');
});

everything works just fine; the wordDetails.hbs template gets rendered properly css, javascript, and all