I am facing an issue, that res.render does not render index view. View engine works, because I see that default layout is loaded, maybe some had same issue?
index.js
var hbs = exphbs.create({
extname: '.hbs',
defaultLayout: 'default',
helpers: "./lib/templates/helpers",
partialsDir:"./lib/templates/partials",
layoutsDir:"./lib/templates/layouts"
});
app.engine('hbs', hbs.engine);
app.set('views', Path.join(__dirname, '/templates'));
app.set('view engine', 'hbs');
app.use('/', (req, res, next) => {
LandRoutes(app, req, res);
next();
})
register.js
const landRoutes = (app, req, res) => {
app.get("/", (req, res) => {
return res.render("index")
})
}
default.hbs
<!DOCTYPE html>
<html lang="en-US">
<head>
{{> head }}
</head>
<div id="main">
{{{content}}}
</div>
</html>
index.hbs
<div id="root">
<div class="loader-wrapper">
<div class="loader"></div>
</div>
</div>
file structure:
lib/templates
/helpers
/layouts/default.hbs
/partials
/index.hbs
Thanks in an advance!
question from:
https://stackoverflow.com/questions/65937082/issues-with-rendering-handlebars-views-in-nodejs-express 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…