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打包工具整合到鼠标右键的方法
May 11 NodeJs
利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
Nov 18 NodeJs
NodeJS制作爬虫全过程(续)
Dec 22 NodeJs
nodejs 整合kindEditor实现图片上传
Feb 03 NodeJs
PHP和NodeJs开发的应用如何共用Session
Apr 16 NodeJs
NodeJs测试框架Mocha的安装与使用
Mar 28 NodeJs
nodejs入门教程一:概念与用法简介
Apr 24 NodeJs
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
Sep 29 NodeJs
nodejs操作mongodb的填删改查模块的制作及引入实例
Jan 02 NodeJs
Nodejs中获取当前函数被调用的行数及文件名详解
Dec 12 NodeJs
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
Feb 06 NodeJs
NodeJS模块Buffer原理及使用方法解析
Nov 11 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程序员面试 切忌急功近利(更需要注重以后的发展)
2010/09/01 PHP
什么是json和jsonp,jQuery json实例详详细说明
2012/12/11 Javascript
什么是Node.js?Node.js详细介绍
2014/06/01 Javascript
jquery的ajax异步请求接收返回json数据实例
2014/06/16 Javascript
JavaScript判断文件上传类型的方法
2014/09/02 Javascript
js网页右下角提示框实例
2014/10/14 Javascript
jQuery创建DOM元素实例解析
2015/01/19 Javascript
JQuery选中checkbox方法代码实例(全选、反选、全不选)
2015/04/27 Javascript
javascript跨域的方法汇总
2015/10/23 Javascript
javascript函数自动执行常用方法汇总
2016/03/28 Javascript
基于jquery插件编写countdown计时器
2016/06/12 Javascript
获取JS中网页各种高宽与位置的方法总结
2016/07/27 Javascript
JS实现简易刻度时钟示例代码
2017/03/11 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
2017/05/13 jQuery
JS实现闭包中的沙箱模式示例
2017/09/07 Javascript
在Vue项目中使用snapshot测试的具体使用
2019/04/16 Javascript
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
2020/01/04 Javascript
[05:20]卡尔工作室_DOTA2新手教学_DOTA2超强新手功能
2013/04/22 DOTA
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
[01:00] DOTA2英雄背景故事第五期之重力引力法则谜团
2020/07/16 DOTA
Django中login_required装饰器的深入介绍
2017/11/24 Python
Python实现按照指定要求逆序输出一个数字的方法
2018/04/19 Python
python实现图书馆研习室自动预约功能
2018/04/27 Python
Django 浅谈根据配置生成SQL语句的问题
2018/05/29 Python
flask session组件的使用示例
2018/12/25 Python
python获取当前文件路径以及父文件路径的方法
2019/07/10 Python
python中提高pip install速度
2020/02/14 Python
Python图像处理库PIL的ImageFilter模块使用介绍
2020/02/26 Python
Python+Appium实现自动化测试的使用步骤
2020/03/24 Python
python 录制系统声音的示例
2020/12/21 Python
介绍一下linux的文件系统
2015/10/06 面试题
学校法制宣传月活动总结
2014/07/03 职场文书
2016年幼儿园庆六一开幕词
2016/03/04 职场文书
2019暑假阅读倡议书
2019/06/24 职场文书
MySQL优化之如何写出高质量sql语句
2021/05/17 MySQL
Python内置数据类型中的集合详解
2022/03/18 Python