从 Expressjs 4 迁移到 5
从 Expressjs 4 迁移到 5
原文:https://medium.com/hackernoon/migrating-from-expressjs-4-to-5-156dcd80eb11
随着 2017 年的开始,是时候适应这些变化了

xpressJS 5.0 正处于 alpha 发布阶段,但我相信我们很快会将它作为一个依赖项添加到我们的package.json文件中。这篇文章给出了一些关于我们使用这个框架编写代码的方法,以及即使我们使用的是 express js4.0版本,我们也应该如何适应新的变化。
我先从最常见的东西比如response说起。
Express 5 不再支持签名res.send,取而代之的是我们应该以这种形式使用这种方法:
res.status(statusCode).send();
我们必须在发送响应对象之前设置状态代码。这个新版本的res.send基本上是两个方法的连锁:res.status & res.send。
考虑到这一点,ExpressJS 5 不赞成使用res.send(statusCode)方法,其中statusCode是表示 HTTP 响应头状态代码的数字。为了只发送 statusCode,即不发送响应对象,我们可以使用res.sendStatus(statusCode)方法。
与类似,其他改变的方法有:
res.json() --> res.status().json()
res.jsonp() --> res.status.jsonp()
另一个值得注意的方法是res.sendfile(),在下一个版本的 ExpressJS 中将会被弃用。相反,我们必须修改它的新形式,camelCase one: res.sendFile(),它已经被比4.8.x更高版本的 ExpressJS 所支持。它带有可选参数,您可以在这里 查看这些参数 [。](http://expressjs.com/en/4x/api.html#res.sendFile)
无论您计划使用 Express 5.0 的 alpha 版本还是继续使用 Express 4.0 的最新版本,我都建议您立即开始调整这些方法。
在 这里可以找到完整的变更列表或官方的 Express 迁移指南。
感谢阅读。如果你觉得这个帖子有用,请点击T3💚按钮这样这个故事就能接触到更多的读者*。如果你想谈论更多,请在[Twitter](https://twitter.com/amanhimself)|[Goodreads](https://goodreads.com/amandeepmittal)|[书博](https://amandeepmittal.wordpress.com/)|*****



