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 的 c++ module 链接到 OpenSSL
Aug 03 NodeJs
你一定会收藏的Nodejs代码片段
Feb 04 NodeJs
NodeJS远程代码执行
Aug 28 NodeJs
详解nodejs模板引擎制作
Jun 14 NodeJs
nodeJS微信分享
Dec 20 NodeJs
nodejs结合Socket.IO实现的即时通讯功能详解
Jan 12 NodeJs
nodejs实现超简单生成二维码的方法
Mar 17 NodeJs
nodejs require js文件入口,在package.json中指定默认入口main方法
Oct 10 NodeJs
nodejs使用async模块同步执行的方法
Mar 02 NodeJs
nodejs 递归拷贝、读取目录下所有文件和目录
Jul 18 NodeJs
Nodejs + sequelize 实现增删改查操作
Nov 07 NodeJs
nodejs中的异步编程知识点详解
Jan 17 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
150kHz到30Mhz完全冲浪手册
2020/03/20 无线电
PHP获取浏览器信息类和客户端地理位置的2个方法
2014/04/24 PHP
Yii2下点击验证码的切换实例代码
2017/03/14 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
类之Prototype.js学习
2007/06/13 Javascript
ASP中Sub和Function的区别说明
2020/08/30 Javascript
JS打开图片另存为对话框实现代码
2012/12/26 Javascript
js showModalDialog参数的使用详解
2014/01/07 Javascript
$(document).ready(function() {})不执行初始化脚本
2014/06/19 Javascript
jquery text()方法取标签中的文本
2014/07/25 Javascript
推荐4个原生javascript常用的函数
2015/01/12 Javascript
Jquery遍历Json数据的方法
2015/04/20 Javascript
JS截取字符串实例详解
2015/11/24 Javascript
jQuery实现响应鼠标事件的图片透明效果【附demo源码下载】
2016/06/16 Javascript
JS控制FileUpload的上传文件类型实例代码
2016/10/07 Javascript
Vue.js组件tree实现无限级树形菜单
2016/12/02 Javascript
原生js实现打字动画游戏
2017/02/04 Javascript
jquery在启动页面时,自动加载数据的实例
2018/01/22 jQuery
使用jquery Ajax实现上传附件功能
2018/10/23 jQuery
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
关于vue状态过渡transition不起作用的原因解决
2019/04/09 Javascript
浅谈 Webpack 如何处理图片(开发、打包、优化)
2019/05/15 Javascript
微信小程序录音实现功能并上传(使用node解析接收)
2020/02/26 Javascript
Python使用中文正则表达式匹配指定中文字符串的方法示例
2017/01/20 Python
python 实现弹球游戏的示例代码
2020/11/17 Python
HTML5实现无刷新修改URL的方法
2019/11/14 HTML / CSS
Nike瑞士官网:Nike CH
2021/01/18 全球购物
妇产医师自荐信
2014/01/29 职场文书
《陶罐和铁罐》教学反思
2014/02/19 职场文书
终止劳动合同协议书
2014/04/14 职场文书
节约每一滴水演讲稿
2014/09/09 职场文书
2014年政风行风工作总结
2014/11/22 职场文书
2014年维修工作总结
2014/11/22 职场文书
高中生军训感言
2015/08/01 职场文书
2016年10月份红领巾广播稿
2015/12/21 职场文书
关于MybatisPlus配置双数据库驱动连接数据库问题
2022/01/22 Java/Android