在 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 无废话系列教程(二) jquery实战篇上
Jun 23 Javascript
基于JQuery实现的图片自动进行缩放和裁剪处理
Jan 31 Javascript
简述JavaScript的正则表达式中test()方法的使用
Jun 16 Javascript
jQuery左右滚动支持图片放大缩略图图片轮播代码分享
Aug 26 Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
Oct 28 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
Sep 23 Javascript
leaflet的开发入门教程
Nov 17 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
Jul 25 Javascript
如何理解Vue的.sync修饰符的使用
Aug 17 Javascript
ionic2懒加载配置详解
Sep 01 Javascript
信息滚动效果的实例讲解
Sep 18 Javascript
jQuery length 和 size()区别总结
Apr 26 jQuery
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数据库操作面向对象的优点
2006/10/09 PHP
php判断是否为ajax请求的方法
2016/11/29 PHP
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
Yii框架连表查询操作示例
2019/09/06 PHP
php源码的使用方法讲解
2019/09/26 PHP
Web前端设计模式  制作漂亮的弹出层
2010/10/29 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
2010/12/08 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
2012/01/03 Javascript
JS中表单的使用小结
2014/01/11 Javascript
七夕情人节丘比特射箭小游戏
2015/08/20 Javascript
深入理解JQuery循环绑定事件
2016/06/02 Javascript
全面了解JavaScript的数据类型转换
2016/07/01 Javascript
jQuery表单插件ajaxForm实例详解
2017/01/17 Javascript
JavaScript实现二维坐标点排序效果
2017/07/18 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
详解vuex的简单使用
2018/03/12 Javascript
angular-tree-component的使用详解
2018/07/30 Javascript
基于canvasJS在PHP中制作动态图表
2020/05/30 Javascript
Vue.extend 登录注册模态框的实现
2020/12/29 Vue.js
Python学习笔记之解析json的方法分析
2017/04/21 Python
Python编程之基于概率论的分类方法:朴素贝叶斯
2017/11/11 Python
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
对python多线程SSH登录并发脚本详解
2019/02/14 Python
解决pyqt5异常退出无提示信息的问题
2020/04/08 Python
Python实现仿射密码的思路详解
2020/04/23 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
应用服务器有那些
2012/01/19 面试题
什么是事务?事务有哪些性质?
2012/03/11 面试题
一些Solaris面试题
2015/12/22 面试题
竞选部门副经理的自荐书范文
2014/02/11 职场文书
会计求职信
2014/05/29 职场文书
竞聘演讲稿怎么写
2014/08/28 职场文书
2014年合同管理工作总结
2014/12/02 职场文书
小学语文教师年度考核个人总结
2015/02/05 职场文书
关于五一放假的通知
2015/08/18 职场文书
多表查询、事务、DCL
2021/04/05 MySQL