在 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 相关文章推荐
JQuery的Alert消息框插件使用介绍
Oct 09 Javascript
当json键为数字时的取值方法解析
Nov 15 Javascript
基于javascript的JSON格式页面展示美化方法
Jul 02 Javascript
JavaScript中的函数模式详解
Feb 11 Javascript
JavaScript编写检测用户所使用的浏览器的代码示例
May 05 Javascript
微信小程序之ES6与事项助手的功能实现
Nov 30 Javascript
vue实现百度搜索下拉提示功能实例
Jun 14 Javascript
vue 挂载路由到头部导航的方法
Nov 13 Javascript
微信小程序scroll-view实现滚动穿透和阻止滚动的方法
Aug 20 Javascript
js实现一个页面多个倒计时的3种方法
Feb 25 Javascript
vue router 组件的高级应用实例代码
Apr 08 Javascript
javascript设计模式 ? 装饰模式原理与应用实例分析
Apr 14 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
浅析51个PHP处理字符串的函数
2013/08/02 PHP
php动态生成函数示例
2014/03/21 PHP
非常不错的一个javascript 类
2006/11/07 Javascript
JQuery获取文本框中字符长度的代码
2011/09/29 Javascript
JS 操作符整理[推荐收藏]
2011/11/15 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
兼容主流浏览器的JS复制内容到剪贴板
2014/12/12 Javascript
jQuery元素选择器用法实例
2014/12/23 Javascript
jquery插件bxslider用法实例分析
2015/04/16 Javascript
JS对HTML表格进行增删改操作
2016/08/22 Javascript
jQuery向父辈遍历的简单方法
2016/09/18 Javascript
Angular2  NgModule 模块详解
2016/10/19 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
vue项目部署到Apache服务器中遇到的问题解决
2018/08/24 Javascript
使用RN Animated做一个“添加购物车”动画的方法
2018/09/12 Javascript
使用angular-cli webpack创建多个包的方法
2018/10/16 Javascript
vue项目使用微信公众号支付总结及遇到的坑
2018/10/23 Javascript
JavaScript 正则应用详解【模式、欲查、反向引用等】
2020/05/13 Javascript
Python+Django在windows下的开发环境配置图解
2009/11/11 Python
KMP算法精解及其Python版的代码示例
2016/06/01 Python
python如何求解两数的最大公约数
2018/09/27 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
2019/11/15 Python
如何用 Python 制作一个迷宫游戏
2021/02/25 Python
美国生日蛋糕店:Bake Me A Wish!
2017/02/08 全球购物
慕尼黑山地运动、户外服装和体育用品专家:Sporthaus Schuster
2019/08/27 全球购物
Muziker英国:中欧最大的音乐家商店
2020/02/05 全球购物
Otiumberg官网:英国半精致珠宝品牌
2021/01/16 全球购物
大专毕业生自我评价分享
2013/11/10 职场文书
生产部岗位职责范文
2014/02/07 职场文书
大学生村官座谈会发言材料
2014/05/25 职场文书
学雷锋宣传标语
2014/06/25 职场文书
2014红色之旅心得体会
2014/10/07 职场文书
思想品德评语大全
2014/12/31 职场文书
北大自主招生自荐信
2015/03/04 职场文书
运动会加油稿30字
2015/07/21 职场文书
Python使用OpenCV和K-Means聚类对毕业照进行图像分割
2021/06/11 Python