node.js - 在Express中渲染jade时包含其他文件的内容吗?

标签 node.js include express pug

我有以下layout.jade:

!!!
html
  head
    title= title
    link(rel='stylesheet', href='/stylesheets/style.css')
  body!= body

在正文中,我想包含另一个文件 content.jade 的内容。

我正在 app.js 中尝试类似的操作:

app.get('/test', function(req, res){
  res.render('layout', {
    layout: false,
    body: include content.jade
  });
});

但它给出了语法错误:“内容”处出现意外的标识符。有办法做到这一点吗?

最佳答案

您必须渲染内容(正文)文件,而不是布局。使用布局:true参数(我认为这是默认值)jade将自动使用layout.jade来渲染页面的“框架”,然后将内容提供给body变量,传递给布局(参见Expres doc) 。所以:

res.render('content');

应该可以完成这项工作。

关于node.js - 在Express中渲染jade时包含其他文件的内容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9048116/

相关文章:

node.js - 存储高频、周期性时间序列数据的最佳方式?

javascript - 如何在 Google Chrome 扩展中获取 Node.js 进程的调试目标信息?

php - get_header() 如何调用特定的 PHP 文件?

c++ - A 类需要 B 类,B 类需要 A 类及其所有成员

javascript - 服务器和客户端之间的响应方法出现 Node js错误

javascript - Node.js:POST 未将数据发送到数据库

javascript - 在 electron.js 或 node.js 应用程序中捕获 c++ native 插件 cout/console 消息

node.js - 使用 Express 打开页面

c++ - 如何使编译器仅搜索包含目录中的特定文件并排除该特定目录中的其余文件

javascript - express3-handlebars 和 18next-node - 基于页面的国际化?