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 sublime text 3安装与配置
Jun 19 NodeJs
nodejs调用cmd命令实现复制目录
May 04 NodeJs
详解nodejs中exports和module.exports的区别
Feb 17 NodeJs
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
May 15 NodeJs
NodeJS如何实现同步的方法示例
Aug 24 NodeJs
nodejs读取本地中文json文件出现乱码解决方法
Oct 10 NodeJs
Nodejs封装类似express框架的路由实例详解
Jan 05 NodeJs
浅谈使用nodejs搭建web服务器的过程
Jul 20 NodeJs
nodejs使用Sequelize框架操作数据库的实现
Oct 21 NodeJs
nodejs处理tcp连接的核心流程
Feb 26 NodeJs
详解nodejs内置模块
May 06 NodeJs
浅谈Node的内存泄露问题
May 06 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
改进的IP计数器
2006/10/09 PHP
php_xmlhttp 乱码问题解决方法
2009/08/07 PHP
phpmyadmin导入(import)文件限制的解决办法
2009/12/11 PHP
PHP的拦截器实例分析
2014/11/03 PHP
php基于CodeIgniter实现图片上传、剪切功能
2016/05/14 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
PHP实现浏览器中直接输出图片的方法示例
2018/03/14 PHP
CSS心形加载的动画源码的实现
2021/03/09 HTML / CSS
js自定义事件及事件交互原理概述(一)
2013/02/01 Javascript
jquery怎样实现ajax联动框(一)
2013/03/08 Javascript
JQuery替换DOM节点的方法
2015/06/11 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
2016/10/28 Javascript
Bootstrap表单控件学习使用
2017/03/07 Javascript
使用Webpack提高Vue.js应用的方式汇总(四种)
2017/07/10 Javascript
js如何获取图片url的Blob值并预览示例代码
2019/03/07 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
微信小程序点击图片实现长按预览、保存、识别带参数二维码、转发等功能
2019/07/20 Javascript
使用vscode快速建立vue模板过程详解
2019/10/10 Javascript
vue element实现表格合并行数据
2020/11/30 Vue.js
python中的字典详细介绍
2014/09/18 Python
Python读取环境变量的方法和自定义类分享
2014/11/22 Python
21行Python代码实现拼写检查器
2016/01/25 Python
Python微信库:itchat的用法详解
2017/08/14 Python
python开发游戏的前期准备
2019/05/05 Python
用python打开摄像头并把图像传回qq邮箱(Pyinstaller打包)
2020/05/17 Python
pytorch掉坑记录:model.eval的作用说明
2020/06/23 Python
Parts Express:音频、视频和扬声器的第一来源
2017/04/25 全球购物
戴森香港官方网站:Dyson香港
2021/02/11 全球购物
Linux文件操作命令都有哪些
2016/07/23 面试题
J2EE面试题大全
2016/08/06 面试题
公务员总结性个人自我评价
2013/12/05 职场文书
会员卡清退活动总结
2014/08/27 职场文书
标准离婚协议书(2014版)
2014/10/05 职场文书
转正申请报告格式
2015/05/15 职场文书
详解MySQL主从复制及读写分离
2021/05/07 MySQL
浅谈音视频 pts dts基本概念及理解
2022/08/05 数码科技