express3.0安装并使用layout模板
发布于 12 年前 作者 baiezone 13841 次浏览 最后一次编辑是 8 年前

1.安装 express-partials。 方法一:运行 cmd 用 npm install express-partials 方法二:在 package.json 里面的 dependencies 添加 "express-partials": "*"。然后运行 cmd 并切换至项目目录运行 npm install 获得最新版。

  1. app.js 里面引用 express-partials。 步骤一:添加引用 var partials = require('express-partials'); 步骤二:在 app.set('view engine', 'ejs'); 下面添加 app.use(partials());

3.在需要引用模板的地方调用 layout:'模版名称' 示例

app.get('/reg', function (req, res) {
  res.render('reg', {
    title: '用户注册',
    layout: 'template'
  });	
});
9 回复

LZ资料哪里找的,我找了半天没找到ejs官网打不开 jade语法又那么蛋疼愁死了。ejs在这么不给力只好转jade了

我也是用楼主的方法,才行的。

include方法也挺不错的

express 2升级到3的注意事项和替代方案:

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

视图类可以看下 View system changes 那一段

To get back layout functionality with EJS you can use express-partials or ejs-locals.

Enjoy~

怎么感觉升到3了之后怪事一大堆呢。 现在layout是有了,请问ejs有没有类似jade的mixin方法,我只用过include path但是没有办法传值?有什么解决办法么?

我运行npm install express-partials时出错,请教一下怎么解决?

而且用第二种方法时,它报错说install couldn’t read dependencies,这是问什么啊?

  res.render('index', {
    layout: '', // 如果不指定 默认就会使用layout.ejs 作为默认布局文件
    title: '首页',
    posts: posts,
  });

感谢楼主。

回到顶部