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框架Express的模板视图机制分析
Jul 19 NodeJs
nodejs实现遍历文件夹并统计文件大小
May 28 NodeJs
Jquery通过ajax请求NodeJS返回json数据实例
Nov 08 NodeJs
详解nodejs 文本操作模块-fs模块(一)
Dec 22 NodeJs
详解Nodejs的timers模块
Dec 22 NodeJs
nodejs和php实现图片访问实时处理
Jan 05 NodeJs
nodejs基础应用
Feb 03 NodeJs
使用 NodeJS+Express 开发服务端的简单介绍
Apr 07 NodeJs
nodejs入门教程二:创建一个简单应用示例
Apr 24 NodeJs
深入解析nodejs HTTP服务
Jul 25 NodeJs
NVM安装nodejs的方法实用步骤
Jan 16 NodeJs
NodeJs操作MongoDB教程之分页功能以及常见问题
Apr 09 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
使用PHP获取网络文件的实现代码
2010/01/01 PHP
php中根据变量的类型 选择echo或dump
2012/07/05 PHP
DOM XPATH获取img src值的query
2013/09/23 PHP
php实现对两个数组进行减法操作的方法
2015/04/17 PHP
PHP串行化与反串行化实例分析
2016/12/27 PHP
javascript 精粹笔记
2010/05/09 Javascript
Javascript操作cookie的函数代码
2012/10/03 Javascript
jquery如何实现在加载完iframe的内容后再进行操作
2013/09/10 Javascript
中文输入法不触发onkeyup事件的解决办法
2014/07/09 Javascript
javascript实现类似超链接的效果
2014/12/26 Javascript
jQuery获得字体颜色16位码的方法
2016/02/20 Javascript
面试常见的js算法题
2017/03/23 Javascript
利用nvm管理多个版本的node.js与npm详解
2017/11/02 Javascript
vue监听dom大小改变案例
2020/07/29 Javascript
使用Django的模版来配合字符串翻译工作
2015/07/27 Python
python urllib爬取百度云连接的实例代码
2017/06/19 Python
python版简单工厂模式
2017/10/16 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
2017/11/30 Python
如何使用pyinstaller打包32位的exe程序
2019/05/26 Python
python实现统计代码行数的小工具
2019/09/19 Python
Python selenium页面加载慢超时的解决方案
2020/03/18 Python
Python导入父文件夹中模块并读取当前文件夹内的资源
2020/11/19 Python
HTML5 微格式和相关的属性名称
2010/02/10 HTML / CSS
举例详解HTML5中使用JSON格式提交表单
2015/06/16 HTML / CSS
详解HTML5 data-* 自定义属性
2018/01/24 HTML / CSS
荷兰牛仔裤网上商店:Jeans Centre
2018/04/03 全球购物
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
中学老师的自我评价
2013/11/07 职场文书
会计系中文个人求职信
2013/12/24 职场文书
竞聘书模板
2014/03/31 职场文书
乡镇党员干部群众路线对照检查材料思想汇报
2014/09/28 职场文书
2014社会治安综合治理工作总结
2014/12/04 职场文书
优秀教师申报材料
2014/12/16 职场文书
2015年房地产个人工作总结
2015/05/26 职场文书
2015新教师教学工作总结
2015/07/22 职场文书
导游词之上海豫园
2019/10/24 职场文书