Как получить макеты HAML, работающие с haml-coffee и Express 4? - PullRequest
0 голосов
/ 12 октября 2019

Я следовал за " Генерацией приложений NodeJS Express с CoffeeScript и HAML " и документами по экспресс-использованию , но мой макет не отображается.

Я вижу обработанный 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

Я просмотрел источник в Chrome, используя view-source:http://127.0.0.1/, и он показывает только содержимое шаблона, но не макет.

1 Ответ

0 голосов
/ 12 октября 2019

Я переместил строку

app.use('/', indexRouter)

ниже

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

и все заработало. Я не думал, что порядок будет иметь значение. (Я также переименовал файлы .haml в соответствии с соглашениями и включил подсветку синтаксиса.)

...