在 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文件里远程调用jquery.js会在ie8下的一个奇怪问题
Nov 28 Javascript
js中split函数的使用方法说明
Dec 26 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
Oct 16 Javascript
纯javascript判断查询日期是否为有效日期
Aug 24 Javascript
JS模拟实现Select效果代码
Sep 24 Javascript
Validform+layer实现漂亮的表单验证特效
Jan 17 Javascript
让bootstrap的carousel支持滑动滚屏的实现代码
Nov 27 Javascript
AnglarJs中的上拉加载实现代码
Feb 08 Javascript
vue学习笔记之给组件绑定原生事件操作示例
Feb 27 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
Jul 19 Javascript
javascript中导出与导入实现模块化管理教程
Dec 03 Javascript
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
Dec 25 Vue.js
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 静态变量与自定义常量的使用方法
2010/01/26 PHP
php计算一个文件大小的方法
2015/03/30 PHP
php使用MySQL保存session会话的方法
2015/06/26 PHP
Smarty日期时间操作方法示例
2016/11/15 PHP
php连接mysql数据库最简单的实现方法
2019/09/24 PHP
javascript document.referrer 用法
2009/04/30 Javascript
jQuery解决iframe高度自适应代码
2009/12/20 Javascript
SeaJS入门教程系列之完整示例(三)
2014/03/03 Javascript
js实现回放拖拽轨迹从过程上进行分析
2014/06/26 Javascript
jQuery1.9.1源码分析系列(十六)ajax之ajax框架
2015/12/04 Javascript
js父页面中使用子页面的方法
2016/01/09 Javascript
javascript HTML5 Canvas实现圆盘抽奖功能
2016/04/11 Javascript
jQuery简单实现tab选项卡切换效果
2016/06/20 Javascript
使用JSON作为函数的参数的优缺点
2016/10/27 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
使用D3.js制作图表详解
2017/08/13 Javascript
vue2.0 自定义 饼状图 (Echarts)组件的方法
2018/03/02 Javascript
vue实现页面内容禁止选中功能,仅输入框和文本域可选
2019/11/09 Javascript
js刷新页面location.reload()用法详解
2019/12/09 Javascript
jQuery 实现DOM元素拖拽交换位置的实例代码
2020/07/14 jQuery
如何在vue中使用kindeditor富文本编辑器
2020/12/19 Vue.js
Python实现学生成绩管理系统
2020/04/05 Python
pybind11在Windows下的使用教程
2019/07/04 Python
python如何读取bin文件并下发串口
2019/07/05 Python
详解Python中的正斜杠与反斜杠
2019/08/09 Python
pandas按行按列遍历Dataframe的几种方式
2019/10/23 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
2020/01/16 Python
浅析Python requests 模块
2020/10/09 Python
python修改微信和支付宝步数的示例代码
2020/10/12 Python
python+selenium+chrome实现淘宝购物车秒杀自动结算
2021/01/07 Python
意大利买卖二手奢侈品网站:LAMPOO
2020/06/03 全球购物
.net软件工程师面试题
2015/03/31 面试题
致800米运动员广播稿(10篇)
2014/10/17 职场文书
《窃读记》教学反思
2016/02/18 职场文书
创业项目(超低成本创业项目)
2019/08/16 职场文书
python playwrigh框架入门安装使用
2022/07/23 Python