在 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实现奇偶行赋值不同css值
Feb 17 Javascript
js实现图片旋转的三种方法
Apr 10 Javascript
js用typeof方法判断undefined类型
Jul 15 Javascript
JS实现表格数据各种搜索功能的方法
Mar 03 Javascript
Jquery实现的简单轮播效果【附实例】
Apr 19 Javascript
onmouseover事件和onmouseout事件全面理解
Aug 15 Javascript
jQuery事件详解
Feb 23 Javascript
深入浅析Node.js 事件循环、定时器和process.nextTick()
Oct 22 Javascript
JS实现简单打字测试
Jun 24 Javascript
Vue如何基于vue-i18n实现多国语言兼容
Jul 17 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
Jul 19 Javascript
JavaScript实现多层颜色选项卡嵌套
Sep 21 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
ajax+php打造进度条 readyState各状态
2010/03/20 PHP
PHP类的静态(static)方法和静态(static)变量使用介绍
2012/02/19 PHP
PHP实现提取多维数组指定一列的方法总结
2019/12/04 PHP
Nigma vs AM BO3 第一场2.13
2021/03/10 DOTA
基于JQuery的密码强度验证代码
2010/03/01 Javascript
Jquery弹出窗口插件 LeanModal的使用方法
2012/03/10 Javascript
HTTP 304错误的详细讲解
2013/11/13 Javascript
当某个文本框成为焦点时即清除文本框内容
2014/04/28 Javascript
关于JS数组追加数组采用push.apply的问题
2014/06/09 Javascript
JavaScript中的原型和继承详解(图文)
2014/07/18 Javascript
javascript中replace( )方法的使用
2015/04/24 Javascript
jQuery点击改变class并toggle及toggleClass()方法定义用法
2015/12/11 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
2016/12/20 Javascript
NodeJS实现不可逆加密与密码密文保存的方法
2018/03/16 NodeJs
layui 表格的属性的显示转换方法
2018/08/14 Javascript
Angular2 自定义表单验证器的实现方法
2018/12/14 Javascript
学习node.js 断言的使用详解
2019/03/18 Javascript
基于mpvue小程序使用echarts画折线图的方法示例
2019/04/24 Javascript
Python and、or以及and-or语法总结
2015/04/14 Python
Python的Flask框架与数据库连接的教程
2015/04/20 Python
Windows上使用virtualenv搭建Python+Flask开发环境
2016/06/07 Python
JPype实现在python中调用JAVA的实例
2017/07/19 Python
使用python 和 lint 删除项目无用资源的方法
2017/12/20 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
2020/02/25 Python
微软英国官方网站:Microsoft英国
2016/10/15 全球购物
DJI美国:消费类无人机领域的领导者
2018/04/27 全球购物
美国花园雕像和家居装饰网上商店:Design Toscano
2019/03/09 全球购物
Shell编程面试题
2016/05/29 面试题
周年庆典邀请函范文
2014/01/24 职场文书
《凡卡》教学反思
2014/04/09 职场文书
团委竞选演讲稿
2014/04/24 职场文书
服务行业口号
2014/06/11 职场文书
乡镇爱国卫生月活动总结
2014/06/25 职场文书
2015年入党决心书
2015/02/05 职场文书
写给汽车4S店的创业计划书,拿来即用!
2019/08/09 职场文书