Monday 8 May 2017

how to set static path to 'public' folder for all route render in Nodejs

app.js

app.engine('.hbs', expressHbs({
        defaultLayout: 'layout', 
        extname: '.hbs',
        layoutsDir:'views/layouts',
        partialsDir:'views/partials'
}));
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', '.hbs');
app.use(express.static(path.join(__dirname, 'public')));

it work correctly in this route [admin.js]

router.get('/', function(req, res, next){
    res.render('admin/admin', {title: 'Admin'});
  });
});
//will render http://localhost:3000/admin

however, when i add new route in [admin.js]

router.get('/insert-scene', function(req, res, next){
    res.render('admin/insert-scene', {title: 'Insert Scene'});
});
//will render http://localhost:3000/admin/insert-scene

public folder not work in this route so hbs view just render /admin/.... in my ref source. How to solve this problem?



via Clavis

No comments:

Post a Comment