Nodejs express框架一个工程中同时使用ejs模版和jade模版


Posted in NodeJs onDecember 28, 2015

在某些项目中,比如你接手了一个别人的项目然后你不想用蛋疼的ejs,或者你不想用蛋疼的jade。你有不想重写之前的页面,那么你现在可能需要新引入ejs或者jade模块,你仅仅需要做下面两步也许就能完成使用两个模版的工作

1.consolidate.js

cd 到项目目录:

npm install consolidate --save

打开项目的app.js(也许你的叫其他名字)

把app.js的形如下面的代码片段

app.set('view engine', 'jade');

改为

var engines = require('consolidate');
app.engine('jade', engines.jade);
app.engine('html', engines.ejs);
// or use these
// app.engine('jade', require('jade').__express);
// app.engine('html', require('ejs').renderFile);
app.set('view engine', 'jade');

重启工程就可以了

2.一点问题

在我的一个项目A里我实际用到的代码是

var engines = require('consolidate');
app.engine('jade', engines.jade);
app.engine('html', engines.ejs);
// app.engine('jade', require('jade').__express);
// app.engine('html', require('ejs').renderFile);
app.set('view engine', 'jade');
//多出以下一行
app.set('view engine', 'html');

这种写法在项目A里可以使用,但在另一个项目B里发现解析不了jade模板

而在项目B中只能使用

var engines = require('consolidate');
app.engine('jade', engines.jade);
app.engine('html', engines.ejs);
app.set('view engine', 'jade');
//或者
//app.engine('jade', require('jade').__express);
//app.engine('html', require('ejs').renderFile);
//app.set('view engine', 'jade');

Express框架中如何引用ejs模板引擎

 1.如何在项目中安装ejs模板引擎

在NodeJS指南中利用利用以下命令建立网站的基本结构:

express -t ejs microblog

运行这个命令后继续运行

cd microblog && npm install(安装项目的依赖属性),发现安装的模板引擎是jade,而不是ejs。原因是现在的版本已经没有-t这个命令了,改为

express -e microblog

运行完这个命令,继续运行cd microblog && npm install,ejs模板引擎就安装好了

但是express3以上的版本把layout默认给取消了,所以现在在views文件夹下并没有生成layout.ejs。

2.安装了ejs后,如何使用ejs的layout模板

安装express-partials

在cmd中切换到项目目录,运行npm install express-partials或者

在 package.json 里面的 dependencies 添加 "express-partials": "*"。然后在项目目录下运行 npm install 。

然后在app.js 里面引用 express-partials,引用方法:

1.添加引用 var partials = require('express-partials');

2.在 app.set('view engine', 'ejs'); 下面添加 app.use(partials());

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

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

Nodejs express框架一个工程中同时使用ejs模版和jade模版

Nodejs express框架一个工程中同时使用ejs模版和jade模版

以上内容给大家介绍了Nodejs express框架一个工程中同时使用ejs模版和jade模版,希望大家喜欢。

NodeJs 相关文章推荐
nodejs中操作mysql数据库示例
Dec 20 NodeJs
NodeJS制作爬虫全过程(续)
Dec 22 NodeJs
基于nodejs+express(4.x+)实现文件上传功能
Nov 23 NodeJs
nodejs微信公众号支付开发
Sep 19 NodeJs
nodejs的HTML分析利器node-jquery用法浅析
Nov 08 NodeJs
详解nodejs微信公众号开发——3.封装消息响应模块
Apr 10 NodeJs
手把手教你把nodejs部署到linux上跑出hello world
Jun 19 NodeJs
详解nodejs的express如何自动生成项目框架
Jul 12 NodeJs
Windows下使用Nodejs运行js的方法
Sep 02 NodeJs
关于Mac下安装nodejs、npm和cnpm的教程
Apr 11 NodeJs
Nodejs异步流程框架async的方法
Jun 07 NodeJs
nodejs对mongodb数据库的增加修删该查实例代码
Jan 05 NodeJs
深入浅析NodeJs并发异步的回调处理
Dec 21 #NodeJs
基于nodejs+express(4.x+)实现文件上传功能
Nov 23 #NodeJs
Nodejs Express4.x开发框架随手笔记
Nov 23 #NodeJs
Nodejs的express使用教程
Nov 23 #NodeJs
nodejs初步体验篇
Nov 23 #NodeJs
Nodejs初级阶段之express
Nov 23 #NodeJs
基于html5和nodejs相结合实现websocket即使通讯
Nov 19 #NodeJs
You might like
destoon实现会员商铺中指定会员或会员组投放广告的方法
2014/08/21 PHP
PHP查询分页的实现代码
2017/06/09 PHP
php根据命令行参数生成配置文件详解
2019/03/15 PHP
php给数组赋值的实例方法
2019/09/26 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
2020/08/06 PHP
一个判断email合法性的函数[非正则]
2008/12/09 Javascript
优化innerHTML操作(提高代码执行效率)
2011/08/20 Javascript
JavaScript移除数组元素减少长度的方法
2013/09/05 Javascript
js实现简单登录功能的实例代码
2013/11/09 Javascript
js获取当前时间显示在页面上并每秒刷新
2014/12/24 Javascript
详谈javascript异步编程
2016/02/21 Javascript
jquery中的常见问题及快速解决方法小结
2016/06/14 Javascript
JS验证字符串功能
2017/02/22 Javascript
vue底部加载更多的实例代码
2018/06/29 Javascript
Vue 实例事件简单示例
2019/09/19 Javascript
vue 使用 canvas 实现手写电子签名
2020/03/06 Javascript
[40:55]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#4Newbee VS Fnatic
2016/03/03 DOTA
[47:35]VP vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
Python中用altzone()方法处理时区的教程
2015/05/22 Python
Python2实现的LED大数字显示效果示例
2017/09/04 Python
Python错误处理操作示例
2018/07/18 Python
Python3.4 splinter(模拟填写表单)使用方法
2018/10/13 Python
浅谈Python采集网页时正则表达式匹配换行符的问题
2018/12/20 Python
详解用Python练习画个美队盾牌
2019/03/23 Python
解决Windows下python和pip命令无法使用的问题
2020/08/31 Python
python中pickle模块浅析
2020/12/29 Python
使用HTML5在网页中嵌入音频和视频播放的基本方法
2016/02/22 HTML / CSS
预订旅游活动、景点和旅游:GetYourGuide
2019/09/29 全球购物
C#面试常见问题
2013/02/25 面试题
如何在C# winform中异步调用web services
2015/09/21 面试题
超市营业员求职简历的自我评价
2013/10/17 职场文书
产品售后服务承诺书
2014/05/21 职场文书
大学生考试作弊被抓检讨书
2014/12/27 职场文书
财务人员岗位职责
2015/02/03 职场文书
酒吧七夕情人节宣传语
2015/11/24 职场文书