You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Express+Node.js时Handlebars页面无法渲染的问题求助

问题解决:Handlebars页面渲染空白

核心原因

你的main.handlebars布局文件里没加{{{body}}}占位符——这是Handlebars用来插入页面(比如Login.handlebars)内容的关键标记。渲染页面时,Handlebars会把页面内容替换到布局的这个位置,没有它的话,页面内容根本不会显示,只会输出布局里的内容(如果布局为空就是空白)。

修复步骤

1. 补全布局文件的占位符

打开views/layouts/main.handlebars,添加{{{body}}},示例代码:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>登录页面</title>
</head>
<body>
    {{{body}}} <!-- 这里会自动替换成Login.handlebars里的内容 -->
</body>
</html>

2. (可选)优化Express视图配置

你当前把app.set('views')指向了views/pages,其实可以直接指向根views目录,因为你的handlebars实例已经单独配置了页面、布局、组件的路径,这样更符合常规项目结构:

// 替换原来的app.set('views', ...)代码
app.set('views', path.join(__dirname, 'views'));

验证

修改完重启服务,访问/user/login就能看到Login.handlebars里的<p>Hello World</p>内容了。

内容的提问来源于stack exchange,提问作者user19892310

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 14:01:17