gpt4 book ai didi

node.js - 表示没有找到/使用布局

转载 作者:搜寻专家 更新时间:2023-10-31 23:02:41 25 4
gpt4 key购买 nike

我正在尝试使用 express 并呈现布局。jade 我的目录树非常标准。

├── apps
│   └── fridge_face
│   ├── routes.coffee
│   └── views
| └── index.jade
├── server.js
└── views
├── layout.jade
└── stylesheets
└── style.styl

在我的 routes.coffee 中,当我渲染 index.jade 时,一切都很好,但布局没有渲染。我曾尝试将布局移动到 apps/fridge_face/views/ 但没有成功。

我没有做过布局配置。

这是我的

layout.jade

doctype 5
html
head
title 'What is up'
link(rel='stylesheet', href='/stylesheets/style.css')
body
!= body

路线.咖啡

routes = (app) ->
app.get '/', (req, res) ->
Word.once 'wordsFetched', (params) ->
res.render "#{__dirname}/views/index",
layout: true
words: params.map (word) -> word.word

Word.getWords()


module.exports = routes

server.js 配置

app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express['static'](__dirname + '/public'));
});

正如您所见,没有任何东西可以或不会使布局无法呈现...我做错了什么我如何快速找到我的布局

编辑


我知道我让这个问题变得超长,但增加了一些发展。首先

当我从两个目录的布局中删除 != 时,没有任何变化。我的 View 仍然呈现为自由布局。

当我添加

app.set('view options', {
layout: false
});

然后在我的 View 中显式渲染我的布局

layout: "#{__dirname}/views/layout"
# OR
layout: "layout"
# OR
layout: true

没有任何反应, View 呈现为自由布局...

最佳答案

正如上面有人所说,您使用的是 3.0 版,它摆脱了布局和部分并让模板引擎处理它。这是迁移 wiki 上的答案:

“要使用 EJS 恢复布局功能,您可以使用 express-partials 或 ejs-locals。”

(来自 https://github.com/visionmedia/express/wiki/Migrating-from-2.x-to-3.x)

我最终使用了 express-partials & 它的工作原理与他们的示例完全一样。我无法发布指向 ejs-locals 的链接,因为我还没有足够的声誉,但您可以在 wiki 上找到它。

关于node.js - 表示没有找到/使用布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11562217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com