在 Express 中使用模板引擎


Posted in Javascript onDecember 10, 2015

需要在应用中进行如下设置才能让 Express 渲染模板文件:

views, 放模板文件的目录,比如: app.set('views', './views')
view engine, 模板引擎,比如: app.set('view engine', 'jade')

然后安装相应的模板引擎 npm 软件包。

$ npm install jade --save

和 Express 兼容的模板引擎,比如 Jade,通过 res.render() 调用其导出方法 __express(filePath, options, callback) 渲染模板。

有一些模板引擎不遵循这种约定,Consolidate.js 能将 Node 中所有流行的模板引擎映射为这种约定,这样就可以和 Express 无缝衔接。

一旦 view engine 设置成功,就不需要显式指定引擎,或者在应用中加载模板引擎模块,Express 已经在内部加载,如下所示。

app.set('view engine', 'jade');

在 views 目录下生成名为 index.jade 的 Jade 模板文件,内容如下:

html
 head
  title!= title
 body
  h1!= message

然后创建一个路由渲染 index.jade 文件。如果没有设置 view engine,您需要指明视图文件的后缀,否则就会遗漏它。

app.get('/', function (req, res) {
 res.render('index', { title: 'Hey', message: 'Hello there!'});
});

此时向主页发送请求,“index.jade” 会被渲染为 HTML。

Javascript 相关文章推荐
深入理解JavaScript系列(1) 编写高质量JavaScript代码的基本要点
Jan 15 Javascript
Extjs4 类的定义和扩展实例
Jun 28 Javascript
jquery 中的each()跳出循环的语句
May 23 Javascript
jQuery实现的文字hover颜色渐变效果实例
Feb 20 Javascript
js实现图片切换(动画版)
Dec 25 Javascript
微信小程序表单验证错误提示效果
May 19 Javascript
JavaScript用二分法查找数据的实例代码
Jun 17 Javascript
Cpage.js给组件绑定事件的实现代码
Aug 31 Javascript
vue.js使用v-model指令实现的数据双向绑定功能示例
May 22 Javascript
vue 详情跳转至列表页实现列表页缓存
Mar 27 Javascript
Vue + Elementui实现多标签页共存的方法
Jun 12 Javascript
Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)
Mar 11 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
Dec 10 #Javascript
基于jQuery实现复选框是否选中进行答题提示
Dec 10 #Javascript
日常收集整理的JavaScript常用函数方法
Dec 10 #Javascript
详解AngularJS中module模块的导入导出
Dec 10 #Javascript
SpringMVC restful 注解之@RequestBody进行json与object转换
Dec 10 #Javascript
Spring mvc 接收json对象
Dec 10 #Javascript
SpringMVC返回json数据的三种方式
Dec 10 #Javascript
You might like
用PHP实现递归循环每一个目录
2010/08/08 PHP
PHP验证码类代码( 最新修改,完全定制化! )
2010/12/02 PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
2014/05/10 PHP
php和asp语法上的区别总结
2019/05/12 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
2019/10/21 PHP
PHP大文件分割分片上传实现代码
2020/12/09 PHP
基于jquery的可多选的下拉列表框
2012/07/20 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
2014/05/09 Javascript
页面刷新时记住滚动条的位置jquery代码
2014/06/17 Javascript
js实现模拟计算器退格键删除文字效果的方法
2015/05/07 Javascript
javascript基本数据类型及类型检测常用方法小结
2016/12/14 Javascript
JS简单实现数组去重的方法示例
2017/03/27 Javascript
node实现简单的反向代理服务器
2017/07/26 Javascript
JavaScript基础进阶之数组方法总结(推荐)
2017/09/04 Javascript
angularjs 的数据绑定实现原理
2018/07/02 Javascript
vue添加锚点,实现滚动页面时锚点添加相应的class操作
2020/08/10 Javascript
vue组件开发之tab切换组件使用详解
2020/08/21 Javascript
vue 监听 Treeselect 选择项的改变操作
2020/08/31 Javascript
用smtplib和email封装python发送邮件模块类分享
2014/02/17 Python
pycharm远程调试openstack的图文教程
2017/11/21 Python
解决Atom安装Hydrogen无法运行python3的问题
2019/08/28 Python
对python中的*args与**kwgs的含义与作用详解
2019/08/28 Python
python列表推导式入门学习解析
2019/12/02 Python
python+selenium 脚本实现每天自动登记的思路详解
2020/03/11 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
2020/06/01 Python
实例讲解Python 迭代器与生成器
2020/07/08 Python
详解python命令提示符窗口下如何运行python脚本
2020/09/11 Python
计算机专业推荐信范文
2013/11/27 职场文书
班组拓展活动方案
2014/08/14 职场文书
学校端午节活动方案
2014/08/23 职场文书
2014年酒店服务员工作总结
2014/12/08 职场文书
护士辞职信怎么写
2015/02/27 职场文书
儿童诗两首教学反思
2016/02/23 职场文书
2016年社区党支部公开承诺书
2016/03/25 职场文书
win11怎么用快捷键锁屏? windows11锁屏的几种方法
2021/11/21 数码科技
Python利用zhdate模块实现农历日期处理
2022/03/31 Python