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服务器(10):处理POST请求
Dec 18 NodeJs
NodeJS制作爬虫全过程
Dec 22 NodeJs
Nodejs学习笔记之NET模块
Jan 13 NodeJs
浅谈Nodejs观察者模式
Oct 13 NodeJs
Nodejs Express4.x开发框架随手笔记
Nov 23 NodeJs
NodeJS和BootStrap分页效果的实现代码
Nov 07 NodeJs
简单实现nodejs上传功能
Jan 14 NodeJs
解析NodeJS异步I/O的实现
Apr 13 NodeJs
nodejs入门教程二:创建一个简单应用示例
Apr 24 NodeJs
详解nodeJS之二进制buffer对象
Jun 03 NodeJs
nodejs body-parser 解析post数据实例
Jul 26 NodeJs
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
Apr 29 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 Ajax乱码
2008/04/09 PHP
php中批量修改文件后缀名的函数代码
2011/10/23 PHP
php实现文件下载更能介绍
2012/11/23 PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
2013/06/25 PHP
PHP curl 获取响应的状态码的方法
2014/01/13 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
2016/11/09 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
2021/03/09 PHP
(JS实现)MapBar中坐标的加密和解密的脚本
2007/05/16 Javascript
JavaScript的变量作用域深入理解
2009/10/25 Javascript
jquery下jstree简单应用 - v1.0
2011/04/14 Javascript
一个JavaScript变量声明的知识点
2013/10/28 Javascript
Node.js中使用计时器定时执行函数详解
2014/08/15 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
2015/03/03 Javascript
jquery使用ul模拟select实现表单美化的方法
2015/08/18 Javascript
JS比较两个数值的大小实例
2016/11/25 Javascript
详解基于Vue2.0实现的移动端弹窗(Alert, Confirm, Toast)组件
2018/08/02 Javascript
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
2019/03/04 Javascript
ES6知识点整理之函数数组参数的默认值及其解构应用示例
2019/04/17 Javascript
小程序新版订阅消息模板消息
2019/12/31 Javascript
Python解析json时提示“string indices must be integers”问题解决方法
2019/07/31 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
2019/08/20 Python
keras 模型参数,模型保存,中间结果输出操作
2020/07/06 Python
带你认识HTML5中的WebSocket
2015/05/22 HTML / CSS
html5中的一些标签学习(心得)
2016/10/18 HTML / CSS
OnePlus加拿大官网:中国国际化手机品牌
2020/10/13 全球购物
最新的大学生找工作自我评价
2013/09/29 职场文书
信息管理专业自荐书
2014/06/05 职场文书
就业协议书样本
2014/08/20 职场文书
大学教师师德师风演讲稿
2014/08/22 职场文书
于丹论语心得观后感
2015/06/15 职场文书
小学语文课《掌声》教学反思
2016/03/03 职场文书
Redis5之后版本的高可用集群搭建的实现
2021/04/27 Redis
利用nginx搭建RTMP视频点播、直播、HLS服务器
2022/05/25 Servers