web-dev-qa-db-de.com

DeprecationWarning: Buffer () ist aufgrund von Sicherheits- und Usability-Problemen veraltet. Bitte verwenden Sie stattdessen die Methoden Buffer.alloc (), ...

Ich habe ein angular -Projekt und kürzlich habe ich Angular-Universal mit dem folgenden Befehl hinzugefügt:

ng add @nguniversal/express-engine --clientProject {{ name of your project }}

bauen und betreiben:

npm run build:ssr && npm run serve:ssr

Ich habe danach viele Fehler bekommen, aber ich habe es geschafft, es zum Laufen zu bringen, aber wenn ich auf meine Homepage zugreife, wird Folgendes auf die Konsole geschrieben:

(node:44714) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
ERROR [Error]
ERROR [Error]

und jedes Mal, wenn ich die Seite aktualisiere, wird ERROR [Error] erneut ohne Details gedruckt. Bitte beachten Sie, dass mein Code keine new Buffer() enthält und ich den Vorschlägen zum Stapelüberlauf gefolgt bin Löse das, aber kein Glück. Kann jemand helfen, herauszufinden, was das verursacht?


Ich habe den ERROR [Error] Gelöst, indem ich den TranslateService entfernt habe, aber immer noch die DeprecationWarning habe

8
Khaled Jamal

Wenn Sie Buffer() in Ihrem Code verwenden, ersetzen Sie ihn einfach durch:

new Buffer(number) // Deprecated 
Buffer.alloc(number) // New

Oder

new Buffer(string) // Deprecated 
Buffer.from(string) // New

Falls Sie nichtBuffer() überall verwenden, müssen Sie Folgendes tun:

1) Durchsuchen Sie alle Ihre App-Abhängigkeiten (Sie können ein Tool zum Suchen verwenden, indem Sie auf das Suchsymbol in der IDE Ihre aktuell verwendete und Buffer()) klicken.)

2) Wo immer Sie eine Buffer() in einem Modul oder einer Abhängigkeit finden, ersetzen Sie sie einfach wie oben erwähnt

11

Ich bekomme die gleiche Warnung, es scheint überhaupt nichts zu beeinflussen. Ich habe das Suchen und Ersetzen durchgeführt, aber raten Sie mal, es gibt nichts in meinem Code (weder in der Quelle noch im kompilierten Bundle), das mit Buffer () übereinstimmt, also bin ich ziemlich neugierig darauf. Ich habe die neueste LTS-Version von Node (12.14.1), aber ich habe npm auf 6.13.6 aktualisiert. Außerdem muss ich sagen, dass die Client-Version diese Ausgabe nicht erzeugt, wenn sie auf meinem Produktions- oder Entwicklungsserver bereitgestellt wird. Dies geschieht nur, wenn der Knoten bereitgestellt wird SSR-Version über iisnode, ich weiß nicht, ob das hilft.

1
Sparker73