J'écris une application relativement nouvelle et je me demandais laquelle je devrais utiliser:
express.json()
ou
bodyParser.json()
Puis-je supposer qu'ils font la même chose.
Je voudrais simplement utiliser express.json()
car il est déjà intégré.
Réponses:
Les versions antérieures d'Express contenaient de nombreux middlewares. bodyParser a été l'un des middlewares qui est venu. Lors de la sortie d'Express 4.0, ils ont décidé de supprimer le middleware fourni d'Express et d'en faire des packages séparés. La syntaxe a ensuite changé de
app.use(express.json())
àapp.use(bodyParser.json())
après l'installation du module bodyParser.bodyParser a été rajouté à Express dans la version 4.16.0, car les gens voulaient qu'il soit intégré à Express comme avant. Cela signifie que vous n'avez plus à utiliser
bodyParser.json()
si vous utilisez la dernière version. Vous pouvez utiliser à laexpress.json()
place.L'historique des versions pour la version 4.16.0 est ici pour ceux qui sont intéressés, et la pull request ici .
la source
app.use(express.urlencoded({ extended: true }));
alors?OUI! Correct
la source
Oui, les deux sont identiques.
si vous allez dans le fichier node_module / express / lib / express.js
vous pouvez voir sous les dépendances du module le module d'analyseur de corps est déjà importé
les objets et méthodes à l'intérieur du module bodyparser sont accessibles car ils sont exportés à l'aide de l'objet spécial module.exports
ceci est accessible depuis un objet express simplement en appelant
la source
Oui!! En raison de l'opinion répandue des gens pour intégrer l'analyseur corporel à l'express, la dernière version fait exactement cela. Vous devriez avoir raison de supposer que les deux exécutent les mêmes tâches, c'est-à-dire reconnaître l'objet de demande entrante en tant qu'objets JSON. N'hésitez pas à utiliser l'un ou l'autre.
la source