在 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 入门·JavaScript 具有全范围的运算符
Oct 01 Javascript
JQuery 学习笔记 选择器之五
Jul 23 Javascript
ExtJS的FieldSet的column列布局
Nov 20 Javascript
jquery 跨域访问问题解决方法(笔记)
Jun 08 Javascript
Javascript学习笔记之 函数篇(三) : 闭包和引用
Nov 23 Javascript
node.js中的fs.lchownSync方法使用说明
Dec 16 Javascript
基于javascript制作微信聊天面板
Aug 09 Javascript
浅谈Vuex的状态管理(全家桶)
Nov 04 Javascript
JS实现简单省市二级联动
Nov 27 Javascript
云服务器部署Node.js项目的方法步骤(小白系列)
Mar 23 Javascript
JavaScript仿京东轮播图效果
Feb 25 Javascript
JS实现百度搜索框
Feb 25 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
function.inc.php超越php
2006/12/09 PHP
PHP中加密解密函数与DES加密解密实例
2014/10/17 PHP
cakephp常见知识点汇总
2017/02/24 PHP
php安装dblib扩展,连接mssql的具体步骤
2017/03/02 PHP
mongodb和php的用法详解
2019/03/25 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
用JS实现的一个include函数
2007/07/21 Javascript
基于jquery的无缝循环新闻列表插件
2011/03/07 Javascript
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
2012/01/15 Javascript
js操作label给label赋值及取label的值示例
2013/11/07 Javascript
jquery选择符快速提取web表单数据示例
2014/03/27 Javascript
javascript Deferred和递归次数限制实例
2014/10/21 Javascript
使用js画图之正弦曲线
2015/01/12 Javascript
JS取得绝对路径的实现代码
2015/01/16 Javascript
jQuery简单实现验证邮箱格式
2015/07/15 Javascript
JQuery.validationEngine表单验证插件(推荐)
2016/12/10 Javascript
AngularJS路由切换实现方法分析
2017/03/17 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
Pyhthon中使用compileall模块编译源文件为pyc文件
2015/04/28 Python
Python使用Turtle模块绘制五星红旗代码示例
2017/12/11 Python
python basemap 画出经纬度并标定的实例
2019/07/09 Python
Python利用全连接神经网络求解MNIST问题详解
2020/01/14 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
2020/02/15 Python
new_zeros() pytorch版本的转换方式
2020/02/18 Python
TensorFlow实现批量归一化操作的示例
2020/04/22 Python
基于python实现MQTT发布订阅过程原理解析
2020/07/27 Python
使用CSS3来实现滚动视差效果的教程
2015/08/24 HTML / CSS
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
突袭HTML5之Javascript API扩展2—地理信息服务及地理位置API学习
2013/01/31 HTML / CSS
美国著名手表网站:Timepiece
2017/11/15 全球购物
联想德国官网:Lenovo Germany
2018/07/04 全球购物
中英文自我评价常用句型
2013/12/19 职场文书
少先队学雷锋活动总结范文
2014/03/09 职场文书
安全责任协议书
2014/04/21 职场文书
毕业实习计划书
2015/01/16 职场文书
如何写好开幕词?
2019/06/24 职场文书