在 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 live函数
Dec 24 Javascript
基于jquery的监控数据是否发生改变
Apr 11 Javascript
jQuery源码分析之jQuery.fn.each与jQuery.each用法
Jan 23 Javascript
JavaScript事件委托用法分析
Jan 24 Javascript
jQuery+css实现的蓝色水平二级导航菜单效果代码
Sep 11 Javascript
JS使用JSON作为参数实例分析
Jun 23 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
Nov 10 Javascript
一次围绕setTimeout的前端面试经验分享
Jun 15 Javascript
vuejs手把手教你写一个完整的购物车实例代码
Jul 06 Javascript
centos 上快速搭建ghost博客方法分享
May 23 Javascript
ES6的Fetch异步请求的实现方法
Dec 07 Javascript
详解基于mpvue微信小程序下载远程图片到本地解决思路
May 16 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 读取文件头判断文件类型的实现代码
2013/08/05 PHP
如何阻止网站被恶意反向代理访问(防网站镜像)
2014/03/18 PHP
php 字符串中的\n换行符无效、不能换行的解决方法
2014/04/02 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
2017/06/15 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
在php的yii2框架中整合hbase库的方法
2018/09/20 PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
2019/06/08 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
2019/06/14 PHP
asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)
2012/03/14 Javascript
fckeditor粘贴Word时弹出窗口取消的方法
2014/10/30 Javascript
jQuery内容过滤选择器用法分析
2015/02/10 Javascript
jquery可定制的在线UEditor编辑器
2015/11/17 Javascript
基于jQuery实现点击最后一行实现行自增效果的表格
2016/01/12 Javascript
js删除局部变量的实现方法
2016/06/25 Javascript
AngularJS表单验证中级篇(3)
2016/09/28 Javascript
解析Vue2 dist 目录下各个文件的区别
2017/11/22 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
JS实现可控制的进度条
2020/03/25 Javascript
[01:02:09]Liquid vs TNC 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21
2020/07/19 DOTA
Flask实现图片的上传、下载及展示示例代码
2018/08/03 Python
python 异或加密字符串的实例
2018/10/14 Python
Python txt文件加入字典并查询的方法
2019/01/15 Python
PyQt编程之如何在屏幕中央显示窗体的实例
2019/06/18 Python
Django模板Templates使用方法详解
2019/07/19 Python
使用Python和百度语音识别生成视频字幕的实现
2020/04/09 Python
Python自动化测试中yaml文件读取操作
2020/08/20 Python
实例讲解使用HTML5 Canvas绘制阴影效果的方法
2016/03/25 HTML / CSS
Timberland德国官网:靴子、鞋子、衣服、夹克及配件
2019/12/10 全球购物
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类
2012/02/06 面试题
应届生保险求职信
2013/11/11 职场文书
学前班评语大全
2014/05/04 职场文书
司机工作自我鉴定
2014/09/19 职场文书
2014年药店工作总结
2014/11/20 职场文书
钱学森电影观后感
2015/06/04 职场文书
仰望星空观后感
2015/06/10 职场文书
Python实现排序方法常见的四种
2021/07/15 Python