在 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 相关文章推荐
ajax的hide隐藏问题解决方法
Dec 11 Javascript
jquery form 加载数据示例
Apr 21 Javascript
jquery马赛克拼接翻转效果代码分享
Aug 24 Javascript
Jquery 1.9.1源码分析系列(十二)之筛选操作
Dec 02 Javascript
Bootstrap按钮下拉菜单组件详解
May 10 Javascript
使用jquery获取url及url参数的简单实例
Jun 14 Javascript
微信和qq时间格式模板实例详解
Oct 21 Javascript
详解JS构造函数中this和return
Sep 16 Javascript
vue使用axios跨域请求数据问题详解
Oct 18 Javascript
Node.js文件编码格式的转换的方法
Apr 27 Javascript
搭建vue开发环境
Jul 19 Javascript
js中比较两个对象是否相同的方法示例
Sep 02 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
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
php日历制作代码分享
2014/01/20 PHP
php随机显示图片的简单示例
2014/02/15 PHP
PHP中使用file_get_contents post数据代码例子
2015/02/13 PHP
以文件形式缓存php变量的方法
2015/06/26 PHP
php 调用ffmpeg获取视频信息的简单实现
2017/04/03 PHP
实现复选框全选/全不选切换
2006/12/23 Javascript
javascript实现锁定网页、密码解锁效果(类似系统屏幕保护效果)
2014/08/15 Javascript
JavaScript使用focus()设置焦点失败的解决方法
2014/09/03 Javascript
学习JavaScript鼠标响应事件
2015/12/25 Javascript
jQuery使用方法
2017/02/04 Javascript
JS 插件dropload下拉刷新、上拉加载使用小结
2017/04/13 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
Chart.js 轻量级HTML5图表绘制工具库(知识整理)
2018/05/22 Javascript
ES6与CommonJS中的模块处理的区别
2018/06/13 Javascript
vue 自动化路由实现代码
2019/09/03 Javascript
JavaScript对象字面量和构造函数原理与用法详解
2020/04/18 Javascript
从表单校验看JavaScript策略模式的使用详解
2020/10/17 Javascript
python实现搜索本地文件信息写入文件的方法
2016/02/22 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
2017/02/16 Python
Python编程实现双链表,栈,队列及二叉树的方法示例
2017/11/01 Python
使用Django启动命令行及执行脚本的方法
2018/05/29 Python
解决PyCharm同目录下导入模块会报错的问题
2018/10/13 Python
python 阶乘累加和的实例
2019/02/01 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
2019/04/04 Python
python实现文件批量编码转换及注意事项
2019/10/14 Python
基于Tensorflow批量数据的输入实现方式
2020/02/05 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
2020/10/15 Python
深入探究HTML5的History API
2015/07/09 HTML / CSS
幼儿教师自我鉴定
2013/11/02 职场文书
企业管理培训感言
2014/01/27 职场文书
社区扶贫帮困工作总结
2015/05/20 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
初中政治教学反思
2016/02/23 职场文书
详解Python魔法方法之描述符类
2021/05/26 Python
Golang 并发下的问题定位及解决方案
2022/03/16 Golang