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的前后端分离的思考与实践(三)轻量级的接口配置建模框架
Sep 26 NodeJs
Nodejs极简入门教程(一):模块机制
Oct 25 NodeJs
NodeJS学习笔记之Connect中间件应用实例
Jan 27 NodeJs
Nodejs中的this详解
Mar 26 NodeJs
nodejs如何获取时间戳与时间差
Aug 03 NodeJs
基于NodeJS+MongoDB+AngularJS+Bootstrap开发书店案例分析
Jan 12 NodeJs
详解nodeJS之路径PATH模块
May 31 NodeJs
nodejs对express中next函数的一些理解
Sep 08 NodeJs
nodejs+mongodb aggregate级联查询操作示例
Mar 17 NodeJs
nodejs之koa2请求示例(GET,POST)
Aug 07 NodeJs
nodejs微信开发之接入指南
Mar 17 NodeJs
一文秒懂nodejs中的异步编程
Jan 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
亲密接触PHP之PHP语法学习笔记1
2006/12/17 PHP
Yii框架form表单用法实例
2014/12/04 PHP
列举PHP的Yii 2框架的开发优势
2015/07/03 PHP
yii2分页之实现跳转到具体某页的实例代码
2016/06/02 PHP
jquery实现手机发送验证码的倒计时代码
2014/02/12 Javascript
jQuery中filter()方法用法实例
2015/01/06 Javascript
js强制把网址设为默认首页
2015/09/29 Javascript
Sort()函数的多种用法
2016/03/20 Javascript
NodeJS连接MongoDB数据库时报错的快速解决方法
2016/05/13 NodeJs
jQuery异步提交表单的两种方式
2016/09/13 Javascript
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
使用VUE+iView+.Net Core上传图片的方法示例
2019/01/04 Javascript
深入学习Vue nextTick的用法及原理
2019/10/08 Javascript
JavaScript WeakMap使用详解
2021/02/05 Javascript
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
2014/07/11 Python
Python Nose框架编写测试用例方法
2017/10/26 Python
详解基于django实现的webssh简单例子
2018/07/17 Python
python3+selenium自动化测试框架详解
2019/03/17 Python
python打印异常信息的两种实现方式
2019/12/24 Python
使用TensorFlow直接获取处理MNIST数据方式
2020/02/10 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
2020/02/12 Python
Python flask框架实现浏览器点击自定义跳转页面
2020/06/04 Python
巴基斯坦电子产品购物网站:Home Shopping
2017/09/14 全球购物
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
GWebs公司笔试题
2012/05/04 面试题
毕业生求职推荐信
2013/11/04 职场文书
社会调查研究计划书
2014/05/01 职场文书
党委班子剖析材料
2014/08/21 职场文书
员工福利申请报告
2015/05/15 职场文书
2015年网络管理员工作总结
2015/05/21 职场文书
名人传读书笔记
2015/06/26 职场文书
初中数学课堂教学反思
2016/02/17 职场文书
详解Nginx 被动检查服务器的存活状态
2021/10/16 Servers
详解JavaScript的计时器和按钮效果设置
2022/02/18 Javascript
python中validators库的使用方法详解
2022/09/23 Python