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 相关文章推荐
抛弃Nginx使用nodejs做反向代理服务器
Jul 17 NodeJs
nodejs下打包模块archiver详解
Dec 03 NodeJs
初探nodeJS
Jan 24 NodeJs
详解nodeJS中读写文件方法的区别
Mar 06 NodeJs
简单好用的nodejs 爬虫框架分享
Mar 26 NodeJs
详解nodejs异步I/O和事件循环
Jun 07 NodeJs
Nodejs 和Session 原理及实战技巧小结
Aug 25 NodeJs
nodejs acl的用户权限管理详解
Mar 14 NodeJs
NodeJS父进程与子进程资源共享原理与实现方法
Mar 16 NodeJs
NodeJs实现简单的爬虫功能案例分析
Dec 05 NodeJs
nodejs使用node-xlsx生成excel的方法示例
Aug 22 NodeJs
nodeJs项目在阿里云的简单部署
Nov 27 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下连接mssql2005的代码
2011/01/17 PHP
Thinkphp模板中使用自定义函数的方法
2012/09/23 PHP
php实现对两个数组进行减法操作的方法
2015/04/17 PHP
Yii核心验证器api详解
2016/11/23 PHP
php获取访问者浏览页面的浏览器类型
2017/01/23 PHP
Laravel5.5以下版本中如何自定义日志行为详解
2018/08/01 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
幻灯片带网页设计中的20个奇妙应用示例小结
2012/05/27 Javascript
javascript 图片裁剪技巧解读
2012/11/15 Javascript
Javascript基础 函数“重载” 详细介绍
2013/10/25 Javascript
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
2014/06/11 Javascript
Jquery实现纵向横向菜单
2016/01/24 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
详谈Angular路由与Nodejs路由的区别
2017/03/05 NodeJs
jQuery插件HighCharts绘制2D带有Legend的饼图效果示例【附demo源码下载】
2017/03/10 Javascript
bootstrap多层模态框滚动条消失的问题
2017/07/21 Javascript
基于vue-cli 打包时抽离项目相关配置文件详解
2018/03/07 Javascript
JS实现的新闻列表自动滚动效果示例
2019/01/30 Javascript
浏览器事件循环与vue nextTicket的实现
2019/04/16 Javascript
原生javascript实现类似vue的数据绑定功能示例【观察者模式】
2020/02/24 Javascript
js实现查询商品案例
2020/07/22 Javascript
JavaScript中的执行环境和作用域链
2020/09/04 Javascript
[03:01]完美世界DOTA2联赛PWL S2 集锦第二期
2020/12/03 DOTA
python字符串,数值计算
2016/10/05 Python
python+mongodb数据抓取详细介绍
2017/10/25 Python
Python中super函数的用法
2017/11/17 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
2019/06/11 Python
python basemap 画出经纬度并标定的实例
2019/07/09 Python
Django框架视图层URL映射与反向解析实例分析
2019/07/29 Python
Python Pandas 如何shuffle(打乱)数据
2019/07/30 Python
对python while循环和双重循环的实例详解
2019/08/23 Python
pytorch实现MNIST手写体识别
2020/02/14 Python
巴西在线鞋店:Shoestock
2017/10/28 全球购物
小学英语课教学反思
2016/02/15 职场文书
2016年百日安全生产活动总结
2016/04/06 职场文书