Pojawia się błąd podczas przenoszenia skryptu na inny serwer.
(węzeł: 15707) [DEP0005] DeprecationWarning: Buffer () jest przestarzały ze względu na problemy z bezpieczeństwem i użytecznością. Zamiast tego użyj metod Buffer.alloc (), Buffer.allocUnsafe () lub Buffer.from ().
Aktualne wersje:
Ubuntu 16.04.4 LTS
Node - v10.9.0
NPM - 6.2.0
Poprzednia wersja:
Ubuntu 14.04.3 LTS
NPM - 3.10.10
Node - v6.10.3
exports.basicAuthentication = function (req, res, next) {
console.log("basicAuthentication");
if (!req.headers.authorization) {
return res.status(401).send({
message: "Unauthorised access"
});
}
var auth = req.headers.authorization;
var baseAuth = auth.replace("Basic", "");
baseAuth = baseAuth.trim();
var userPasswordString = new Buffer(baseAuth, 'base64').toString('ascii');
var credentials = userPasswordString.split(':');
var username = credentials[0] !== undefined ? credentials[0] : '';
var password = credentials[1] !== undefined ? credentials[1] : '';
var userQuery = {mobilenumber: username, otp: password};
console.log(userQuery);
User.findOne(userQuery).exec(function (err, userinfo) {
if (err || !userinfo) {
return res.status(401).send({
message: "Unauthorised access"
});
} else {
req.user = userinfo;
next();
}
});
}
Odpowiedzi:
Zauważ, że Buffer.alloc () jest również szybszy w obecnych wersjach Node.js niż nowy Buffer (size) .fill (0), co w innym przypadku potrzebowałbyś, aby zapewnić zerowe wypełnienie.
źródło
Użycie przestarzałego
new Buffer()
konstruktora (iE używanego przez Yarn) może powodować ostrzeżenia o wycofaniu. Dlatego NIE należy używać przestarzałego / niebezpiecznego konstruktora buforu.Zgodnie z ostrzeżeniem o wycofaniu
new Buffer()
należy zastąpić je jednym z następujących:Buffer.alloc()
Buffer.allocUnsafe()
lubBuffer.from()
Inną opcją pozwalającą uniknąć tego problemu byłoby użycie pakietu safe-buffer.
Możesz także spróbować (używając przędzy ..):
jak wspomniano tutaj: Link
Kolejna sugestia z komentarzy (dzięki dla gkiely): samodzielna aktualizacja
Aby zaktualizować swoją wersję Yarn, uruchom
źródło
Zmień ten wiersz z kodu na ten -
lub w moim przypadku podałem kodowanie w odwrotnej kolejności
źródło