Как избавиться от предупреждения об устаревании Connect 3.0?

Я разработчик node.js, который создает веб-приложения с использованием express.js. К настоящему времени моя проблема:

Всякий раз, когда я создаю приложение на своем компьютере, npm устанавливает его и запускаю (с узлом app.js и nodemon), я получаю это сообщение в консоли:

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

Приложение работает, это нормально. Но когда я клонирую приложение, созданное на другом компьютере, я не получаю это сообщение, поэтому я полагаю, что на моем компьютере что-то устарело.

Я пошел на сайт, упомянутый в сообщении, и подтвердил свои предположения. Это предупреждение об устаревании. Тем не менее, я обновил node и npm и глобально выразил, но я все еще получаю примечание.

Поэтому моя проблема: я не знаю, что мне нужно обновить, чтобы избавиться от заметок об устаревании, потому что они меня бесят.

Я надеюсь, что кто-то может помочь мне. Большое спасибо.

3 ответа

Это предупреждение исчезнет после обновления Express для использования Connect 3.0. В качестве временного исправления следуйте инструкциям в верхней части https://github.com/senchalabs/connect/wiki/Connect-3.0. В частности, найдите эту строку в вашем приложении:

app.use(express.bodyParser());

И заменить его следующим (это то, что bodyParser будет в 3.0)

app.use(express.json());
app.use(express.urlencoded());

Я несу ответственность за это уведомление об устаревании. ты читал вики? https://github.com/senchalabs/connect/wiki/Connect-3.0

шаг 1: использовать каждый парсер напрямую вместо app.use(express.bodyParser());

app.use(express.json());
app.use(express.urlencoded());

шаг 2: используйте другой многочастный синтаксический анализатор, например: connect-multiparty можно использовать

app.use(require('connect-multiparty')())

работа над connect 3 и express 4 еще не началась, потому что для освобождения узла 0.12 требуется некоторое время. обновлять пока нечего.

Так как express - это просто оболочка для подключения, я предлагаю использовать connect напрямую.

так что вместо:app.use(express.bodyParser());

использовать:

connect = require('connect');
app.use(connect.json());
app.use(connect.urlencoded());
Другие вопросы по тегам