node.js - 如何让 HAML 布局与 haml-coffee 和 Express 4 一起使用?
问题描述
我遵循“使用 CoffeeScript 和 HAML 生成 NodeJS Express 应用程序”和express-usage 文档,但我的布局没有显示。
我可以看到渲染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"})
应用程序/视图/layout.hamlc:
!!!
%head
%title Express App
%body
xxx
!= @body
我使用 Chrome 查看了源代码,view-source:http://127.0.0.1/
它只显示模板内容而不显示布局。
解决方案
我移动了线路
app.use('/', indexRouter)
以下
app.engine("haml", require("haml-coffee").__express)
app.use(partials())
app.set("view engine", "haml")
它奏效了。我不认为顺序会很重要。(我还重命名了文件.haml
以匹配约定并启用语法高亮显示。)
推荐阅读
- javascript - 在 Javascript 应用程序 VS Redis 中使用映射缓存大约 5000 个条目
- lua - 我如何使用 user_input 调用变量
- r - 读取 VertNet .txt 文件
- windows - 如何修复 MinGW -Wl、--dynamicbase 无法正常工作?
- laravel - 删除级联上的 Laravel 8 迁移不起作用
- maven - maven-shade-plugin 无法跨多个运行工作
- typescript - 打字稿:在运行时获取字符串联合值
- wordpress - WordPress调用哪个模板
- html - 如何使用 Bootstrap 创建响应式汉堡菜单?
- java - Spring Cloud Gateway 在 OAuth2 Spring 安全设置中同时提供前端服务和后端服务