Как избавиться от предупреждения об устаревании 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());