Ну, я только начал с узла + экспресса и экспресс-руля для проекта.Я хочу передать данные списка навигации в мой частичный.Чтобы передать данные навигационного массива, я использую экземпляр express-handlebars.
import { PORT, navLinks } from './config';
import routes from './routes';
import express from 'express';
import exphbs from 'express-handlebars';
const app = express();
app.use('/', routes);
app.use(express.static(__dirname + '/public'));
app.engine('.hbs', exphbs({
defaultLayout: 'default',
extname: '.hbs',
helpers: {
// This does not work. if I log using below method
navLinks,
// This method is working if any static value is passed inside partail
log: d => console.log(d)
}
}));
app.set('view engine', '.hbs');
app.listen(PORT, () => {
console.log(`App is running on PORT: ${PORT}`)
});
Объект navLinks будет успешно напечатан, если я передам res.render ().
import { navLinks } from '../config';
export default function(req, res) {
return {
renderDashboard(){
return res.render('dashboard', {
name: 'Fazil Amir',
title: 'Welcome User',
navLinks
})
}
}
}
Приведенный выше подход работает нормально, но мне просто не нравится каждый раз передавать один и тот же объект.