ejs里面怎么使用layout呢?
发布于 3年前 作者 isondada 6363 次浏览

用的ejs模板引擎,但是在view下没找到layout.ejs,直接加了一个然后指定 layout: ‘layout’ 也没生效,这个要怎么处理呢?

23 回复

用jade吧,ejs真不咋地

手写啊,很奇怪为什么那么多人发帖需要express命令初始化目录出来。 自己手动建一个分分钟就搞定的,而且想怎么改就怎么改。

我也遇到了同样的问题。 不知道 express 为什么不加载 layout.ejs 自己手动写了,不管用。 我是用 express 3.0 测试的。

我们没有您说的这样笨的。 现在的问题是: 目录views下面的 layout.ejs 不其作用。 请问您有良方?

express3.0已经把layout移除了,install express-partials 可解决问题。

@workgang 我可没说你笨;3.0还是beta,用稳定的2版本吧

@workgang 而且,比较复杂的页面的话,一般header和footer不一定永远都是一样的,不用layout更灵活些。

好的,谢谢

@sumory 嗯好的,谢谢

gxx8958 express3.0已经把layout移除了,install express-partials 可解决问题。

@gxx8958 回复了解决方法,不知道我这边有人回复的时候你那会不会有通知,所以也拷过来回复一下你,然后,谢谢

因为初学照着教程一路走下来发觉有些地方跟作者讲的不一样,nodejs更新的缘故应该,就发帖请教一下,谢谢你的建议,jade我也会去尝试的

不错,找到问题的解决方法了

如何解决????

@sumory 那个我的样式不起作用哦 是什么原因啊? 连title都没显示的

@sumory 就是指定模版 也是失败的

如何解决 我指定模版也是失败的 就是我估计是 默认目录不是views下

@prophet 什么意思?你确定render指向的模板是对的?你是express的模板类型、目录什么都都对没?

express 3.x 中使用ejs的模版比较麻烦一点,但是还是很容易的。 假如你想使用一个名为layout_header.ejs的模版只要建立layout_header.ejs后,在你的网页中引入 <% include layoutHeader%>就可以了。 你现在看得教程是<%-body%>的写法吧,这个在3.0里面已经不支持了。 这样用模版真的不优雅,但是这好像是唯一的办法。

express 3 之后移除了layout的支持, 不过你可以使用这个包实现: https://github.com/randometc/ejs-locals

现在是include了,更强大了

@guilin 你用过几种模板引擎?

回到顶部