node.js - ExpressJS 中的 Handlebars .hbs View 无法加载我的部分内容

标签 node.js express handlebars.js

  # app.js
  app.set('view engine', 'hbs');

  # ./views/layout.hbs
      {{> nav}}

  # ./views/nav.hbs
      <a href="#">home</a>

layout.hbs 文件找不到我的部分 nav.hbs

我在 Node app.js 控制台上收到以下错误:

抛出 new Handlebars.Exception("部分 "+ name + "不能为 fo ^

最佳答案

您需要首先注册您想要使用的部分“nav”。我在 Express.js hbs module - register partials from .hbs file 找到了答案对我来说效果很好。要点是:

var template = fs.readFileSync(partialsDir + '/' + filename, 'utf8');
hbs.registerPartial(name, template)

关于node.js - ExpressJS 中的 Handlebars .hbs View 无法加载我的部分内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12452355/

相关文章:

javascript - 如何在 javascript/nodejs (ES6) 中创建静态函数/对象

typescript - 使用 passport.serializeUser 时如何修复 "No overload matches this call."错误?

来自 Express+Handlebars layout.hbs 的 Cordova index.html?

javascript - 调试 npm 错误!代码 ELIFECYCLE npm ERR!错误号 1

node.js - 用于与单独后端集成的 CMS 选项?

javascript - 我如何编写一个简单调用函数的 Gulp 任务

node.js - 使用 OAuth2 处理重定向代码

node.js - 使用 Multer 将带有 fetch 的图像上传到 Express

jquery - 为什么 Handlebarsjs 模板缺少 jquery mobile CSS 样式?

javascript - Meteor 为模板助手提供的集合中的每个对象多次渲染父对象