在 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 相关文章推荐
js利用与或运算符优先级实现if else条件判断表达式
Apr 15 Javascript
JS判断不能为空实例代码
Nov 26 Javascript
解析JavaScript中的不可见数据类型
Dec 02 Javascript
js二维数组排序的简单示例代码
Jan 24 Javascript
javascript模拟实现ajax加载框实例
Oct 15 Javascript
如何减少浏览器的reflow和repaint
Feb 26 Javascript
jquery实现跳到底部,回到顶部效果的简单实例(类似锚)
Jul 10 Javascript
JS+CSS3模拟溢出滚动效果
Aug 12 Javascript
Nuxt.js开启SSR渲染的教程详解
Nov 30 Javascript
9102年webpack4搭建vue项目的方法步骤
Feb 20 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
Jul 22 Javascript
在vue中实现清除echarts上次保留的数据(亲测有效)
Sep 09 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/06/25 PHP
ECMall支持SSL连接邮件服务器的配置方法详解
2014/05/19 PHP
在PHP语言中使用JSON和将json还原成数组的方法
2016/07/19 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
2017/05/05 PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
2017/08/18 PHP
JavaScript中URL编码函数代码
2011/01/11 Javascript
四种参数传递的形式——URL,超链接,js,form表单
2015/07/24 Javascript
易操作的jQuery表单提示插件
2015/12/01 Javascript
基于BootStrap实现局部刷新分页实例代码
2016/08/08 Javascript
localStorage的黑科技-js和css缓存机制
2017/02/06 Javascript
深入理解js中的加载事件
2017/02/08 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
2017/03/02 Javascript
Bootstrap表单控件学习使用
2017/03/07 Javascript
bootstrap动态调用select下拉框的实例代码
2018/08/09 Javascript
详解微信小程序input标签正则初体验
2018/08/18 Javascript
Node.js操作MongoDB数据库实例分析
2020/01/19 Javascript
python脚本实现查找webshell的方法
2014/07/31 Python
Python使用正则表达式抓取网页图片的方法示例
2017/04/21 Python
对python中的for循环和range内置函数详解
2018/04/17 Python
python XlsxWriter模块创建aexcel表格的实例讲解
2018/05/03 Python
python实现狄克斯特拉算法
2019/01/17 Python
详解如何管理多个Python版本和虚拟环境
2019/05/10 Python
python爬虫scrapy框架之增量式爬虫的示例代码
2021/02/26 Python
CSS3 选择器 属性选择器介绍
2012/01/21 HTML / CSS
html5文本内容_动力节点Java学院整理
2017/07/11 HTML / CSS
美国最大的家庭鞋类零售商之一:Shoe Carnival
2017/10/06 全球购物
Boutique 1美国:阿联酋奢侈时尚零售商
2017/10/16 全球购物
英国伦敦的睡衣品牌:Asceno
2019/10/06 全球购物
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
Spotahome意大利:公寓和房间出租
2020/02/21 全球购物
大学活动总结格式
2014/04/29 职场文书
2014四风问题对照检查材料范文
2014/09/15 职场文书
运动会广播稿200字(10篇)
2014/10/12 职场文书
高效笔记技巧分享:学会这些让你不再困扰
2019/09/04 职场文书
Python Matplotlib绘制条形图的全过程
2021/10/24 Python
python图像处理 PIL Image操作实例
2022/04/09 Python