问题
I'm a node.js developer who creates web apps using express.js. By now, my problem is:
Whenever I create an app on my computer, npm install its stuff and run it (with node app.js and nodemon) I get this message in the console:
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 server listening on port 3000
The app works, that's fine. But when I clone an app created in other computer I don't get that message, so I'm supposing I have something outdated in my computer.
I went to the site mentioned in the message and confirmed my speculations. That is a deprecation warning. However, I've updated node and npm and globally express but I still getting the note.
My problem is, therefore: I don't know what do I need to update in order to get rid of the deprecation notes because they're freaking me out.
I hope someone can help me. Thanks a lot.
回答1:
This is a warning that will go away once Express updates to use Connect 3.0 - as a temporary fix, follow the instructions at the top of https://github.com/senchalabs/connect/wiki/Connect-3.0. Specifically, find this line in your app:
app.use(express.bodyParser());
And replace it with the following (this is what bodyParser
will be in 3.0):
app.use(express.json());
app.use(express.urlencoded());
回答2:
i'm responsible for this deprecation notice. did you read the wiki? https://github.com/senchalabs/connect/wiki/Connect-3.0
step 1: use each parser directly instead of app.use(express.bodyParser());
app.use(express.json());
app.use(express.urlencoded());
step 2: use a different multipart parser, for e.g: connect-multiparty can be used
app.use(require('connect-multiparty')())
work on connect 3 and express 4 hasn't begun yet because node 0.12 is taking a while to be released. there's nothing to update, yet.
回答3:
since express is just a wrapper to connect, i suggest using connect directly.
so instead of:
app.use(express.bodyParser());
use:
connect = require('connect');
app.use(connect.json());
app.use(connect.urlencoded());
来源:https://stackoverflow.com/questions/19581146/how-to-get-rid-of-connect-3-0-deprecation-alert