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全栈框架StrongLoop推荐
Nov 09 NodeJs
NodeJs的优势和适合开发的程序
Aug 14 NodeJs
Highcharts+NodeJS搭建数据可视化平台示例
Jan 01 NodeJs
nodejs中向HTTP响应传送进程的输出
Mar 19 NodeJs
nodejs入门教程二:创建一个简单应用示例
Apr 24 NodeJs
nodejs集成sqlite使用示例
Jun 05 NodeJs
nodejs判断文件、文件夹是否存在及删除的方法
Nov 10 NodeJs
用Electron写个带界面的nodejs爬虫的实现方法
Jan 29 NodeJs
Nodejs中的require函数的具体使用方法
Apr 02 NodeJs
nodejs 递归拷贝、读取目录下所有文件和目录
Jul 18 NodeJs
nodejs语言实现验证码生成功能的示例代码
Oct 13 NodeJs
nodeJS与MySQL实现分页数据以及倒序数据
Jun 05 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
终于听上了直流胆调频
2021/03/02 无线电
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
2014/06/25 PHP
php读取txt文件并将数据插入到数据库
2016/02/23 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
IE DOM实现存在的部分问题及解决方法
2009/07/25 Javascript
extjs 列表框(multiselect)的动态添加列表项的方法
2009/07/31 Javascript
JQuery一种取同级值的方式(比如你在GridView中)
2012/03/15 Javascript
jquery表单验证框架提供的身份证验证方法(示例代码)
2013/12/27 Javascript
用JavaScript实现类似于ListBox功能示例代码
2014/03/09 Javascript
jQuery实现的在线答题功能
2015/04/12 Javascript
微信小程序 Audio API详解及实例代码
2016/09/30 Javascript
深入理解Node.js 事件循环和回调函数
2016/11/02 Javascript
详解基于webpack和vue.js搭建开发环境
2017/04/05 Javascript
javascript 中null和undefined区分和比较
2017/04/19 Javascript
微信小程序基于本地缓存实现点赞功能的方法
2017/12/18 Javascript
JS兼容所有浏览器的DOMContentLoaded事件
2018/01/12 Javascript
Servlet3.0与纯javascript通过Ajax交互的实例详解
2018/03/18 Javascript
使用layui 渲染table数据表格的实例代码
2018/08/19 Javascript
详解一个小实例理解js原型和继承
2019/04/24 Javascript
解决LayUI数据表格复选框不居中显示的问题
2019/09/25 Javascript
leaflet加载geojson叠加显示功能代码
2020/02/21 Javascript
vue项目中使用vue-layer弹框插件的方法
2020/03/11 Javascript
javaScript代码飘红报错看不懂?读完这篇文章再试试
2020/08/19 Javascript
使用Python搭建虚拟环境的配置方法
2018/02/28 Python
Python基于生成器迭代实现的八皇后问题示例
2018/05/23 Python
用python一行代码得到数组中某个元素的个数方法
2019/01/28 Python
实例讲解Python中整数的最大值输出
2019/03/17 Python
快速排序的四种python实现(推荐)
2019/04/03 Python
深入解析神经网络从原理到实现
2019/07/26 Python
Django实现发送邮件找回密码功能
2019/08/12 Python
利用rest framework搭建Django API过程解析
2019/08/31 Python
python能自学吗
2020/06/18 Python
python中spy++的使用超详细教程
2021/01/29 Python
国际领先的学术出版商:Springer
2017/01/11 全球购物
医院护士的求职信范文
2013/12/26 职场文书
win10电脑关机快捷键是哪个 win10快速关机的几种方法
2022/08/14 数码科技