在 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 相关文章推荐
ExtJS中文乱码之GBK格式编码解决方案及代码
Jan 20 Javascript
瀑布流布局并自动加载实现代码
Mar 12 Javascript
基于jQuery实现仿百度首页换肤背景图片切换代码
Aug 25 Javascript
js中class的点击事件没有效果的解决方法
Oct 13 Javascript
js模式化窗口问题![window.dialogArguments]
Oct 30 Javascript
js调用父框架函数与弹窗调用父页面函数的简单方法
Nov 01 Javascript
js实现用户输入的小写字母自动转大写字母的方法
Jan 21 Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
Jun 13 Javascript
React Native实现进度条弹框的示例代码
Jul 17 Javascript
9102年webpack4搭建vue项目的方法步骤
Feb 20 Javascript
express + jwt + postMan验证实现持久化登录
Jun 05 Javascript
JS+html5实现异步上传图片显示上传文件进度条功能示例
Nov 09 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获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
2009/10/11 PHP
提高PHP编程效率的53个要点(经验小结)
2010/09/04 PHP
基于PHP编程注意事项的小结
2013/04/27 PHP
php阻止页面后退的方法分享
2014/02/17 PHP
php实现微信支付之现金红包
2018/05/30 PHP
PHP后台实现微信小程序登录
2018/08/03 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
获取任意Html元素与body之间的偏移距离 offsetTop、offsetLeft (For:IE5+ FF1 )[
2006/12/22 Javascript
运用Windows XP附带的Msicuu.exe、Msizap.exe来彻底卸载顽固程序
2007/04/21 Javascript
javascript基本语法分析说明
2008/06/15 Javascript
jquery控制listbox中项的移动并排序
2009/11/12 Javascript
为原生js Array增加each方法
2012/04/07 Javascript
火狐下table中创建form导致两个table之间出现空白
2013/09/02 Javascript
浅谈javascript对象模型和function对象
2014/12/26 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
jquery实现具有嵌套功能的选项卡
2016/02/12 Javascript
JavaScript实现iframe自动高度调整和不同主域名跨域
2016/02/27 Javascript
通过构造函数实例化对象的方法
2017/06/28 Javascript
使用InstantClick.js让页面提前加载200ms
2017/09/12 Javascript
node.js读取Excel数据(下载图片)的方法示例
2018/08/02 Javascript
微信小程序提取公用函数到util.js及使用方法示例
2019/01/10 Javascript
vue-mugen-scroll组件实现pc端滚动刷新
2019/08/16 Javascript
[01:10:27]DOTA2-DPC中国联赛正赛 SAG vs XG BO3 第二场 3月5日
2021/03/11 DOTA
Python程序设计入门(2)变量类型简介
2014/06/16 Python
详解Python中的装饰器、闭包和functools的教程
2015/04/02 Python
在Python的框架中为MySQL实现restful接口的教程
2015/04/08 Python
django解决跨域请求的问题
2018/11/11 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
2019/12/12 Python
python中sympy库求常微分方程的用法
2020/04/28 Python
浅谈pymysql查询语句中带有in时传递参数的问题
2020/06/05 Python
五个2015 年最佳HTML5 框架
2015/11/11 HTML / CSS
求职信模版
2013/11/30 职场文书
数控机械专业个人的自我评价
2014/01/02 职场文书
家长会标语
2014/06/24 职场文书
2015年“公民道德宣传日”活动方案
2015/05/06 职场文书
共青团优秀团员申请书(范文)
2019/08/15 职场文书