如何使用 haml-coffee 和 Express 4 获得 HAML 布局?

How do I get HAML layouts working with haml-coffee and Express 4?

我关注了“NodeJS Express app generation with CoffeeScript and HAML" and the express-usage docs,但我的布局没有显示。

我可以看到呈现的 index.hamlc 好的,但它不包含布局。如何让布局与 HAML 和 Express 4 一起使用?

server.js:

const express = require('express'),
    partials = require("express-partials"),
...
app.set('views','app/views');
app.engine("hamlc", require("haml-coffee").__express)
app.use(partials())
app.set("view engine", "hamlc")

index.js:

router.get('/', (req, res) => {
    res.render('index', {name: "User"})

app/views/layout.hamlc:

!!!
%head
  %title Express App
%body
  xxx
  != @body

我使用 view-source:http://127.0.0.1/ 查看了 Chrome 中的源代码,它只显示模板内容而不显示布局。

我移线了

app.use('/', indexRouter)

低于

app.engine("haml", require("haml-coffee").__express)
app.use(partials())
app.set("view engine", "haml")

它奏效了。我认为顺序无关紧要。 (我还重命名了文件 .haml 以匹配约定并启用语法高亮显示。)