Ich schreibe eine relativ neue App und habe mich gefragt, welche ich verwenden soll:
express.json()
oder
bodyParser.json()
Kann ich davon ausgehen, dass sie dasselbe tun?
Ich möchte nur verwenden, express.json()
wie es bereits eingebaut ist.
Antworten:
In früheren Express-Versionen war früher viel Middleware enthalten. bodyParser war einer der Middlewares, die es kamen. Als Express 4.0 veröffentlicht wurde, beschlossen sie, die mitgelieferte Middleware aus Express zu entfernen und stattdessen separate Pakete zu erstellen. Die Syntax wurde nach der Installation des bodyParser-Moduls von
app.use(express.json())
aufapp.use(bodyParser.json())
geändert.bodyParser wurde in Version 4.16.0 wieder zu Express hinzugefügt, da die Benutzer wollten, dass es wie zuvor mit Express gebündelt wird. Das bedeutet, dass Sie nicht
bodyParser.json()
mehr verwenden müssen, wenn Sie sich in der neuesten Version befinden. Sie könnenexpress.json()
stattdessen verwenden.Der Release-Verlauf für 4.16.0 ist hier für Interessierte und die Pull-Anfrage hier .
quelle
app.use(express.urlencoded({ extended: true }));
dann auch tun ?JA! Richtig
quelle
Ja, beide sind gleich.
Wenn Sie in die Datei node_module / express / lib / express.js gehen
Sie können unter Modulabhängigkeiten sehen, dass das Body-Parser-Modul bereits importiert ist
Auf die Objekte und Methoden im bodyparser-Modul kann zugegriffen werden, wenn sie mit dem speziellen Objekt module.exports exportiert werden
Dies ist vom Express-Objekt aus nur durch Aufrufen zugänglich
quelle