[Node6] 尝鲜升级
升级node6以后随便跑了同事的一个代码,然后无情的报错了,当时我的第一反应是: 坑爹的,果然先升的先跳坑 不过我还是选择了排查一下~
// 使用koa
this.request.query.hasOwnProperty('token')
错误:
hasOwnProperty is not a function
我当时心中就暗骂Object的原型链都能出问题,还能不能用了。但是我还是本着求真的精神去扫了一眼koa源码,发现koa的request都是Object.create创建的,这。。。我。。。突然。。。 就很尴尬了。。。之前的node5是怎么跑通的。。。给跪了
5 回复
Breaking changes between v5 and v6 - querystring
The parsed object returned by
querystring.parse()
now inherits fromObject.create(null)
rather thanObject.prototype
.
koa中
get query() { var str = this.querystring; var c = this._querycache = this._querycache || {}; return c[str] || (c[str] = qs.parse(str)); },
so…
没刷 changelog 升级是万万不能的。
https://cnodejs.org/topic/570050f68a612c5559d16b94 lodash _.find v3 升 v4, 导致的bug 找了我一上午, 我的天哪~