[email protected] usa apenas o analisador de corpo “1.19.0” como uma dependência
Tagi
Respostas:
233
As versões anteriores do Express costumavam ter muitos middlewares incluídos. bodyParser foi um dos middlewares que surgiu. Quando o Express 4.0 foi lançado, eles decidiram remover o middleware empacotado do Express e torná-los pacotes separados. A sintaxe então mudou de app.use(express.json())paraapp.use(bodyParser.json()) após a instalação do módulo bodyParser.
bodyParser foi adicionado de volta ao Express na versão 4.16.0, porque as pessoas queriam empacotá-lo com o Express como antes. Isso significa que você não precisa bodyParser.json()mais usar se estiver com a versão mais recente. Você pode usar em seu express.json()lugar.
O histórico de lançamento para 4.16.0 está aqui para aqueles que estão interessados, e a solicitação de pull aqui .
Podemos fazer também app.use(express.urlencoded({ extended: true }));?
Robin Métral
1
Sim, também é mencionado no PR que você vinculou. Ótimo!
Robin Métral
1
Isso significa que eles fazem o mesmo trabalho?
GNETO DOMINIQUE
e se eu usar // Análise de dados app.use (express.json ()); app.use (express.urlencoded ({extended: false})); isso é bom? porque o tutorial no youtube me diz para usar os dois
rickvian
1
@rickvian - Você pode usar os dois se quiser. json é para JSON e urlencoded é para dados codificados por URL. Se você adicionar os dois, poderá analisar os dois tipos.
Embora este snippet de código possa resolver a questão, incluir uma explicação realmente ajuda a melhorar a qualidade de sua postagem. Lembre-se de que você está respondendo à pergunta para leitores no futuro e essas pessoas podem não saber os motivos de sua sugestão de código.
Brett DeWoody
8
Sim, ambos são iguais.
se você entrar no arquivo node_module / express / lib / express.js
você pode ver nas dependências do módulo o módulo do analisador de corpo já foi importado
Sim!! Devido à opinião generalizada das pessoas em integrar o analisador de corpo de volta ao expresso, a versão mais recente faz exatamente isso. Você deve estar certo ao supor que ambos executam as mesmas tarefas, ou seja, reconhecer o objeto de solicitação recebido como objetos JSON. Sinta-se à vontade para usar qualquer um.
Respostas:
As versões anteriores do Express costumavam ter muitos middlewares incluídos. bodyParser foi um dos middlewares que surgiu. Quando o Express 4.0 foi lançado, eles decidiram remover o middleware empacotado do Express e torná-los pacotes separados. A sintaxe então mudou de
app.use(express.json())
paraapp.use(bodyParser.json())
após a instalação do módulo bodyParser.bodyParser foi adicionado de volta ao Express na versão 4.16.0, porque as pessoas queriam empacotá-lo com o Express como antes. Isso significa que você não precisa
bodyParser.json()
mais usar se estiver com a versão mais recente. Você pode usar em seuexpress.json()
lugar.O histórico de lançamento para 4.16.0 está aqui para aqueles que estão interessados, e a solicitação de pull aqui .
fonte
app.use(express.urlencoded({ extended: true }));
?SIM! Corrigir
fonte
Sim, ambos são iguais.
se você entrar no arquivo node_module / express / lib / express.js
você pode ver nas dependências do módulo o módulo do analisador de corpo já foi importado
os objetos e métodos dentro do módulo bodyparser são acessíveis à medida que são exportados usando o objeto especial module.exports
isso é acessível a partir do objeto expresso apenas chamando
fonte
Sim!! Devido à opinião generalizada das pessoas em integrar o analisador de corpo de volta ao expresso, a versão mais recente faz exatamente isso. Você deve estar certo ao supor que ambos executam as mesmas tarefas, ou seja, reconhecer o objeto de solicitação recebido como objetos JSON. Sinta-se à vontade para usar qualquer um.
fonte