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中的非阻塞方法介绍
Jun 05 NodeJs
nodejs 实现模拟form表单上传文件
Jul 14 NodeJs
轻松创建nodejs服务器(7):阻塞操作的实现
Dec 18 NodeJs
windows系统下更新nodejs版本的方案
Nov 24 NodeJs
Nodejs模块载入运行原理
Feb 23 NodeJs
nodejs连接mysql数据库及基本知识点详解
Mar 20 NodeJs
NodeJS安装图文教程
Apr 19 NodeJs
nodejs 递归拷贝、读取目录下所有文件和目录
Jul 18 NodeJs
nodejs制作小爬虫功能示例
Feb 24 NodeJs
使用nodejs实现JSON文件自动转Excel的工具(推荐)
Jun 24 NodeJs
NodeJs使用webpack打包项目的方法详解
Feb 28 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
模板引擎Smarty深入浅出介绍
2006/12/06 PHP
apache php模块整合操作指南
2012/11/16 PHP
php笔记之:php数组相关函数的使用
2013/04/26 PHP
Thinkphp整合微信支付功能
2016/12/14 PHP
asp.net HttpHandler实现图片防盗链
2009/11/09 Javascript
jQuery版Tab标签切换
2011/03/16 Javascript
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
2011/10/16 Javascript
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
2013/05/07 Javascript
jquery获取颜色在ie和ff下的区别示例介绍
2014/03/28 Javascript
实例详解ECMAScript5中新增的Array方法
2016/04/05 Javascript
jQuery基于xml格式数据实现模糊查询及分页功能的方法
2016/12/25 Javascript
JavaScript数据结构之单链表和循环链表
2017/11/28 Javascript
利用vscode调试编译后的js代码详解
2018/05/14 Javascript
vue webpack打包后图片路径错误的完美解决方法
2018/12/07 Javascript
vue开发简单上传图片功能
2020/06/30 Javascript
[03:06]3分钟带你回顾DOTA2完美盛典&完美大师赛
2017/12/06 DOTA
Python深入学习之内存管理
2014/08/31 Python
在Python的Django框架中调用方法和处理无效变量
2015/07/15 Python
玩转python爬虫之爬取糗事百科段子
2016/02/17 Python
利用Python破解验证码实例详解
2016/12/08 Python
python中日志logging模块的性能及多进程详解
2017/07/18 Python
python中将一个全部为int的list 转化为str的list方法
2018/04/09 Python
python读出当前时间精度到秒的代码
2019/07/05 Python
PIL对上传到Django的图片进行处理并保存的实例
2019/08/07 Python
Python综合应用名片管理系统案例详解
2020/01/03 Python
HTML5 Web缓存和运用程序缓存(cookie,session)
2018/01/11 HTML / CSS
NBA欧洲商店(法国):NBA Europe Store FR
2016/10/19 全球购物
Myprotein加拿大官网:欧洲第一的运动营养品牌
2018/01/06 全球购物
德国高尔夫商店:Golfshop.de
2019/06/22 全球购物
劳资人员岗位职责
2013/12/19 职场文书
计算机科学系职业生涯规划书
2014/03/08 职场文书
女生抽烟检讨书
2014/10/05 职场文书
开学典礼致辞
2015/07/29 职场文书
Ajax请求超时与网络异常处理图文详解
2021/05/23 Javascript
vue项目支付功能代码详解
2022/02/18 Vue.js