在 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 相关文章推荐
Javascript 按位取反运算符 (~)
Feb 04 Javascript
DOM节点删除函数removeChild()用法实例
Jan 12 Javascript
JavaScript学习总结之JS、AJAX应用
Jan 29 Javascript
bootstrap警告框示例代码分享
May 17 Javascript
ES6 javascript的异步操作实例详解
Oct 30 Javascript
解决Webpack 热部署检测不到文件变化的问题
Feb 22 Javascript
JavaScript错误处理操作实例详解
Jan 04 Javascript
layui table 多行删除(id获取)的方法
Sep 12 Javascript
vue实现户籍管理系统
May 29 Javascript
vue自定义指令和动态路由实现权限控制
Aug 28 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
Dec 04 Vue.js
详解Typescript里的This的使用方法
Jan 08 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
一个简单的自动发送邮件系统(二)
2006/10/09 PHP
用缓存实现静态页面的测试
2006/12/06 PHP
8个出色的WordPress SEO插件收集
2011/02/26 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
2015/06/23 PHP
phpstudy默认不支持64位php的解决方法
2017/02/20 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
PHP使用Redis实现Session共享的实现示例
2019/05/12 PHP
Mootools 1.2教程 同时进行多个形变动画
2009/09/15 Javascript
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
2010/06/11 Javascript
js中parseInt函数浅谈
2013/07/31 Javascript
JavaScript 中的日期和时间及表示标准介绍
2013/08/21 Javascript
Javascript学习笔记之函数篇(六) : 作用域与命名空间
2014/11/23 Javascript
编写自己的jQuery提示框(Tip)插件
2015/02/05 Javascript
javascript使用正则表达式实现去掉空格之后的字符
2015/02/15 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
2015/08/10 Javascript
js判断鼠标位置是否在某个div中的方法
2016/02/26 Javascript
详解JavaScript中this关键字的用法
2016/05/26 Javascript
json实现添加、遍历与删除属性的方法
2016/06/17 Javascript
jQuery实现滚动条滚动到子元素位置(方便定位)
2017/01/08 Javascript
JS表单验证方法实例小结【电话、身份证号、Email、中文、特殊字符、身份证号等】
2017/02/14 Javascript
jQuery动态移除与增加onclick属性的方法详解
2018/06/07 jQuery
详解Koa中更方便简单发送响应的方式
2018/07/20 Javascript
使用vue开发移动端管理后台的注意事项
2019/03/07 Javascript
JavaScript实现图片伪异步上传过程解析
2020/04/10 Javascript
Python实现根据IP地址和子网掩码算出网段的方法
2015/07/30 Python
浅谈Python的异常处理
2016/06/19 Python
Django rest framework工具包简单用法示例
2018/07/20 Python
Python3实现飞机大战游戏
2020/04/24 Python
Python 合并拼接字符串的方法
2020/07/28 Python
美国二手奢侈品寄售网站:TheRealReal
2016/10/29 全球购物
趣天网日本站:Qoo10 JP
2019/09/18 全球购物
人力资源部培训专员岗位职责
2014/01/02 职场文书
会议活动邀请函
2014/01/27 职场文书
高质量“欢迎词”
2019/04/03 职场文书
德劲DE1107指针试高灵敏度全波段收音机机评
2022/04/05 无线电
Windows Server 2008配置防火墙策略详解
2022/06/28 Servers