hbs模块 mysql_让koa-hbs模块支持koa2
个人比较喜欢handlebars渲染,不喜欢ejs、jade之类,因此在试验koa2开发时,第一时间就想到集成koa-hbs模块!
koa-hbs模块来自https://github.com/gilt/koa-hbs
问题是,该模块不支持koa2,就支持koa1
那么咱就出动koa-convert模块来进行转换……可是,仍然有问题。关键点在于ctx.render方法仍然是个generator函数。
这难不倒咱,翻一下koa-convert模块的源码,有样学样,用下面的办法解决之:
const hbs = require('koa-hbs');
const convert = require('koa-convert');
const co = require('co');
app.use(convert(hbs.middleware({
viewPath: __dirname + '/views',
partialsPath: __dirname + '/views/partials'
})));
app.use(async (ctx, next) => {
ctx.render_ = ctx.render;
ctx.render = function (tpl, locals) {
return co.call(ctx, ctx.render_(tpl, locals));
}
await next();
})
另外,如果不用koa-hbs模块,而是用支持koa2的koa-views模块,必须用最新的5.1.2版本(此文章发表时的最新版本),或更高的版本:
npm i koa-views@5.1.2
我在一开始时使用npm i koa-views@next命令安装,结果不是最新版本,被坑了。
hbs模块 mysql_让koa-hbs模块支持koa2相关推荐
- nginx添加第三方模块,以及启用nginx本身支持的模块
nginx添加第三方模块,以及启用nginx本身支持的模块 Nginx添加第三方模块 转载于:https://www.cnblogs.com/linjiqin/p/11512867.html
- MVC4做网站后台:模块管理1、修改模块信息
网站可能会包含一些模块:像文章.产品.图片.留言等. 栏目模块主要实现功能,启用或禁用模块,模块权限设置,模块上传设置等. 权限设置和上传设置以后专门考虑,先来显示或禁用模块. 1.在顶部导航栏添加管 ...
- python logging模块的作用_Python 日志模块logging分析及使用-2
本文作为Python日志模块的补充,主要介绍日志回滚RotatingFileHandler和TimedRotatingFileHandler的使用,以及其所带来的问题.Logger对象的日志等级是如何 ...
- python 如何查看模块所有方法-Python查看模块(变量、函数、类)方法
前面章节中,详细介绍了模块和包的创建和使用(严格来说,包本质上也是模块),有些读者可能有这样的疑问,即正确导入模块或者包之后,怎么知道该模块中具体包含哪些成员(变量.函数或者类)呢? 查看已导入模块( ...
- Python学习-基础篇4 模块与包与常用模块
一 模块介绍 1.什么是模块?#常见的场景:一个模块就是一个包含了一组功能的python文件,比如spam.py,模块名为spam,可以通过import spam使用.#在python中,模块的使用方 ...
- python哪个关键字可以导入模块_关于python导入模块import与常见的模块详解
0.什么是python模块?干什么的用的? Java中如果使用abs()函数,则需要需要导入Math包,同样python也是封装的,因为python提供的函数太多,所以根据函数的功能将其封装在不同的m ...
- jdk 11 模块系统_JDK 9:模块系统状态的重点
jdk 11 模块系统 马克·雷因霍尔德 ( Mark Reinhold )的"模块系统状态 (SOMS)"已于本月初发布,它提供了信息丰富的可读性"对Jigsaw项目中 ...
- elementui的css文件没有引入_Python中引入模块详细介绍,使用模块的过程中注意事项教程...
为此 Python 提供了一个办法,把这些定义存放在文件中,这个文件被称为模块. 模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py.模块可以被别的程序引入,以使用该模块中的函数等功能. ...
- Linux 核心模块,LINUX核心及核心模块的简单介绍
在整个开机的过程中,能否成功驱动主机的硬件,是核心(kernel)的工作. 核心一般都是压缩文件,在使用之前,要将解压,才能加载到主存储器中. 随着硬件种类增加,目前核心都具有可读取模块化驱动程序的功 ...
最新文章
- linux下如何判断oracle数据库tns是否设置正常
- mac下载安装本地mongodb
- boost::range模块实现map_keys相关的测试程序
- 入门顶点动画纹理的实例化绘制
- 微信小程序setTimeout自动跳转页面
- DockerONE 干货 深入理解Docker容器和镜像
- fcpx插件Title Pop:78个可自定义的Final Cut Pro X动画标题+ 2个额外背景
- SQL Server Management Studio –分步安装指南
- Kelvin云层效果Ps笔刷
- c语言编程怎样进行反函数计算器,反函数计算器
- linux下rfkill命令管理蓝牙和wifi
- xshell官方个人免费版申请下载使用
- yytext table html,展开label,利用YYText实现文字显示不完末尾添加全文
- 苹果电脑怎么进入虚拟服务器设置,苹果Mac电脑 Vmware虚拟机共享文件夹设置教程...
- coalesce函数详解--判空三目表达式
- 小程序跳转小程序,小程序跳转公众号,小程序跳转h5
- HTML生成PDF、web打印动态分页、预览。内容满了,自动换页、移动端兼容 bookjs-eazy
- 三国刘备十大名言:三分天下要靠“混
- 世界各国的12个王朝
- 【C++】win 10:VC 6.0 中文版下载、安装、使用