Express 是过时了还是怎么, 老是给提示?
 发布于 11 年前  作者 jiyinyiyong  6814 次预览  最后一次回复是 11 年前  来自  

我在代码里用了一下 bodyParser:

app.use express.bodyParser()

结果马上给我来一堆警告:

connect.multipart() will be removed in connect 3.0
visit https://github.com/senchalabs/connect/wiki/Connect-3.0 for alternatives
connect.limit() will be removed in connect 3.0

前几天就觉得 Express 有点异样, 官网不知道是不是否过时了 http://expressjs.com/api.html#req.body

This property is an object containing the parsed request body. This feature is provided by the bodyParser() middleware

Koa 要来也不至于这边先跟不上吧, Express 团队最近是有什么状况么?

14 回复
dead-horse

connect 发布了 3.0, 移除了所有中间件。 express 发布了 4.0,移除了 connect 的依赖。 express 老版本引用了 connect 2.x,所以会有这个提示。

defunctzombie 这个哥们现在是 express 的主要维护者,jonathanong 也会维护。TJ 基本不再管 express 了,和 jonathanong 投入到 koa 了。

jiyinyiyong

奇怪有了 4.0 可 npm 上还是放 3.5 , 卖的什么药啊… https://www.npmjs.org/package/express 那现在用的 Express 怎么跟进版本好(还有文档…)?

asoedarren
        //app.use(express.bodyParser());   connect 3.0之后改成下面两个
        app.use(express.json());
        app.use(express.urlencoded());
dead-horse
"3.4.8": "2014-01-14T04:51:15.079Z",
"4.0.0-rc1": "2014-03-02T16:19:53.255Z",
"4.0.0-rc2": "2014-03-05T06:34:13.334Z",
"3.5.0": "2014-03-06T22:58:36.227Z",
"4.0.0-rc3": "2014-03-12T01:39:53.076Z",
"4.0.0-rc4": "2014-03-25T02:54:51.021Z",
"3.5.1": "2014-03-25T20:59:05.986Z

4.0.0 的 rc 版本已经发布了。但是由于3.x 和 4.x 相差有点大,还是在往回修 3.x 的bug,估计再过段时间就不会维护3.x了 现在要用 express 的话,直接上 4.x 吧

关于文档。。 express 这种规模的库都是直接看代码的,还能够学习一些编码风格和用法。

jiyinyiyong

@asoedarren Thx, 刚好需要这个.

jiyinyiyong

原来是 npm info 里看的. 好吧, 看代码靠谱. 如果马上发布的话总觉得文档也很快要跟上.

Pana

express 4.0 和connect 3.0 都在等 node 0.12 发布, 这个很快了, 建议大家直接上新的版本哈

jiyinyiyong

话说 0.12 是什么时候发啊?

Pana

@jiyinyiyong 好的情况这个月发, 坏的情况下个月, 应该不会再晚了

waksana

直接用koa吧

booxood

为什么要等node发布新版?

Pana

@booxood connect 的惯例是支持最近的两个node版本, 即connect3 要抛弃对0.8的支持, express 应该是用到了下一版node 的一些特性

owen-hong

我遇到了和楼主一样的问题,虽然可以解决那个警告问题,但是我在做一个文件上传的时候,需要用到req.files这个属性,如果不用app.use(express.bodyParser())这个代码就会报错了,不知道有没有人有解决方法