Nodejs express框架一个工程中同时使用ejs模版和jade模版
作者:bea
在某些项目中,比如你接手了一个别人的项目然后你不想用蛋疼的ejs,或者你不想用蛋疼的jade。你有不想重写之前的页面,那么你现在可能需要新引入ejs或者jade模块,你仅仅需要做下面两步也许就能完成使用两个模版的工作 1.consolidate.js cd 到项目目录: npm install consolidate --save 打开项目的app.js(也许你的叫其他名字) 把app.js的形如下面的代码片段 app.set('view engine', 'jad
在某些项目中,比如你接手了一个别人的项目然后你不想用蛋疼的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模版,希望大家喜欢。
有用 | 无用
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模版,希望大家喜欢。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- 基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
- jQuery中attr()与prop()函数用法实例详解(附用法区别)
- 使用OpenLayers3 添加地图鼠标右键菜单
- javascript实现下拉提示选择框
- 基于JavaScript如何实现ajax调用后台定义的方法
- js+css简单实现网页换肤效果
- Jquery使用小技巧汇总
- js为什么不能正确处理小数运算?
- javascript从作用域链谈闭包
- 你有必要知道的25个JavaScript面试题
- JavaScript仿支付宝密码输入框
- js实现商城星星评分的效果
- 原生js配合cookie制作保存路径的拖拽
- 一种新的javascript对象创建方式Object.create()
- JavaScrip常见的一些算法总结
- 简单介绍JavaScript数据类型之隐式类型转换
- Bootstrap导航栏各元素操作方法(表单、按钮、文本)
- Bootstrap实现响应式导航栏效果
- 基于jQuery实现选取月份插件附源码下载