[email protected] solo usa el analizador corporal "1.19.0" como una dependencia
Tagi
Respuestas:
235
Las versiones anteriores de Express solían tener una gran cantidad de middleware incluido. bodyParser fue uno de los middlewares que vino. Cuando se lanzó Express 4.0, decidieron eliminar el middleware incluido de Express y convertirlos en paquetes separados. La sintaxis luego cambió de app.use(express.json())a app.use(bodyParser.json())después de instalar el módulo bodyParser.
bodyParser se volvió a agregar a Express en la versión 4.16.0, porque la gente quería que se incluyera con Express como antes. Eso significa que no tiene que usar bodyParser.json()más si está en la última versión. Puede usar express.json()en su lugar.
El historial de versiones de 4.16.0 está aquí para aquellos que estén interesados, y la solicitud de extracción aquí .
¿Podemos hacer también nosotros app.use(express.urlencoded({ extended: true }));entonces?
Robin Métral
1
Ah, sí, también se menciona en el PR que vinculó. ¡Excelente!
Robin Métral
1
¿Eso significa que hacen el mismo trabajo?
GNETO DOMINIQUE
¿Qué pasa si uso tanto // Data Parsing app.use (express.json ()); app.use (express.urlencoded ({extendido: falso})); ¿esta bien? porque el tutorial en youtube me dice que use ambos
rickvian
1
@rickvian: puede usar ambos si lo desea. json es para JSON y urlencoded es para datos codificados en URL. Si agrega ambos, podrá analizar ambos tipos.
Si bien este fragmento de código puede resolver la pregunta, incluir una explicación realmente ayuda a mejorar la calidad de su publicación. Recuerde que está respondiendo la pregunta para los lectores en el futuro, y es posible que esas personas no conozcan los motivos de su sugerencia de código.
Brett DeWoody
8
Sí, ambos son iguales.
si entra en el archivo node_module / express / lib / express.js
puede ver en las dependencias del módulo, el módulo del analizador corporal ya está importado
¡¡Si!! Debido a la opinión generalizada de la gente de volver a integrar el analizador corporal con el expreso, la última versión hace exactamente esto. Debería tener razón al asumir que ambos realizan las mismas tareas, es decir, reconocer el objeto de solicitud entrante como objetos JSON. Siéntase libre de usar cualquiera de los dos.
Respuestas:
Las versiones anteriores de Express solían tener una gran cantidad de middleware incluido. bodyParser fue uno de los middlewares que vino. Cuando se lanzó Express 4.0, decidieron eliminar el middleware incluido de Express y convertirlos en paquetes separados. La sintaxis luego cambió de
app.use(express.json())
aapp.use(bodyParser.json())
después de instalar el módulo bodyParser.bodyParser se volvió a agregar a Express en la versión 4.16.0, porque la gente quería que se incluyera con Express como antes. Eso significa que no tiene que usar
bodyParser.json()
más si está en la última versión. Puede usarexpress.json()
en su lugar.El historial de versiones de 4.16.0 está aquí para aquellos que estén interesados, y la solicitud de extracción aquí .
fuente
app.use(express.urlencoded({ extended: true }));
entonces?¡SI! Correcto
fuente
Sí, ambos son iguales.
si entra en el archivo node_module / express / lib / express.js
puede ver en las dependencias del módulo, el módulo del analizador corporal ya está importado
los objetos y métodos dentro del módulo bodyparser son accesibles ya que se exportan utilizando el módulo de objetos especiales.
esto es accesible desde el objeto express simplemente llamando
fuente
¡¡Si!! Debido a la opinión generalizada de la gente de volver a integrar el analizador corporal con el expreso, la última versión hace exactamente esto. Debería tener razón al asumir que ambos realizan las mismas tareas, es decir, reconocer el objeto de solicitud entrante como objetos JSON. Siéntase libre de usar cualquiera de los dos.
fuente