从我的控制器渲染信息只会将信息传递到模板中包含的部分。
这是我在登录控制器中处理该问题的方法。检查提供的密码和用户名后,我将两个对象发送到要呈现到页面的仪表板模板
res.render(path.join(DIST_DIR, 'dashboard.hbs'), {
user,
company
});
我可以记录此信息,可以看到它的存在,并且也可以在dashboard.hsb中包含的部分中呈现出来,但是似乎仪表板本身无法获取数据。
我的webpack设置
{
// Loads the javacript into html template provided.
// Entry point is set below in HtmlWebPackPlugin in Plugins
test: /\.hbs$/,
loader: 'handlebars-loader',
query: {
partialDirs: [
path.join(__dirname, './src/views/partials')
],
helperDirs: [
path.join(__dirname, './src/helpers')
]
}
},
new HtmlWebPackPlugin({
filename: 'dashboard.hbs',
title: 'Dashboard',
chunks: ['dashboard', 'dashboard~login', 'vendors~dashboard', 'vendors~dashboard~login'],
template: 'src/views/index/dashboard.hbs',
excludeChunks: ['server']
}),
因此,页面呈现得很好,并且我尝试传递的用户信息确实显示在部分信息中(由仪表板布局使用),但是我要显示在dashboard.hbs主体中的用户信息始终是空白。我似乎信息没有传递到此模板。
我要去哪里错了?我非常感谢您的帮助。
答案 0 :(得分:0)
我使用了错误的加载程序。我没有使用handlebars-loader,而是更新了代码以使用html-loader
{
// Loads the javacript into html template provided.
// Entry point is set below in HtmlWebPackPlugin in Plugins
test: /\.hbs$/,
loader: 'html-loader',
query: {
partialDirs: [
path.join(__dirname, './src/views/partials')
],
helperDirs: [
path.join(__dirname, './src/helpers')
]
}
},
现在一切正常。希望这可以帮助其他人