‫Tutor: En esta lección, las cosas
‫comenzarán a ponerse un poco más avanzadas.
‫Y eso se debe a que ahora crearemos varios
‫enrutadores y usaremos un proceso llamado montaje.
‫Así que veamos cómo funciona todo eso.
‫Ahora, antes de hacer nada de eso, tengamos
‫en cuenta que el objetivo final será separar todo el
‫código que tenemos en este archivo en varios archivos.
‫Entonces, lo que quiero es tener un
‫archivo que solo contenga todas estas rutas, luego
‫quiero tener otro archivo,
‫que tenga las rutas para los usuarios.
‫También querré tener un archivo que contenga los controladores solo
‫para los usuarios y luego también un
‫archivo que contendrá todos los controladores para los recorridos, ¿de acuerdo?
‫Y eso es realmente lo que haremos
‫en la próxima conferencia.
‫Pero para poder hacer eso, ahora
‫necesitamos crear un enrutador separado para cada
‫uno de nuestros recursos.
‫Entonces, volvamos a nuestras rutas aquí y ahora mismo, podemos decir
‫que todas nuestras rutas, así que estas cuatro rutas aquí, podemos decir
‫que están todas en
‫el mismo enrutador, ¿de acuerdo?
‫Y el enrutador es este objeto de aplicación.
‫Pero si queremos separar estas rutas
‫en diferentes archivos, de nuevo, un archivo para
‫estas dos rutas y un
‫archivo para estas dos rutas, entonces lo mejor
‫que se puede hacer es crear un enrutador para
‫cada uno de los recursos, ¿de acuerdo?
‫Y así es como lo haremos.
‫En realidad, no es tan complicado, pero
‫tendrás que entender
‫un par de conceptos, ¿de acuerdo?
‫Entonces, comencemos diciendo,
‫const tourRouter es igual a express. Enrutador.
‫Bien, así como
‫así, creamos un nuevo enrutador y lo guardamos en esta variable.
‫Muy bien, y ahora usemos ese enrutador
‫para estas dos rutas.
‫Entonces aquí lo usamos en lugar de la aplicación.
‫Muy bien, ahora tenemos dos enrutadores y luego enrutar
‫y luego, por supuesto, las rutas get
‫y post en ese enrutador.
‫Ahora bien, ¿cómo conectamos realmente este nuevo
‫enrutador con nuestra aplicación?
‫Bueno, lo usaremos como middleware, ¿de acuerdo?
‫Y eso se debe a que, este nuevo enrutador de herramienta modular aquí,
‫es en realidad un middleware real, ¿de acuerdo?
‫Y entonces podemos
‫decir, (escritura en el teclado), app. use, y luego la ruta, pero dejémoslo para más adelante.
‫Entonces, podemos usar tourRouter en nuestra aplicación y
‫¿dónde queremos usar tourRouter?
‫Bueno, queremos usarlo
‫en / api / version one / tours, ¿de acuerdo?
‫De nuevo, este tourRouter aquí es un middleware real.
‫Y queremos usar ese middleware para esta ruta específica.
‫De acuerdo, usamos la aplicación. use y
‫especifique la función de middleware, que es este enrutador,
‫luego especificamos la ruta y la URL, para la
‫cual, en realidad queremos usar ese middleware, ¿de acuerdo?
‫Y así,
‫así, creamos básicamente una subaplicación, ¿de acuerdo?
‫Ahora, solo hay
‫una cosa que realmente necesitamos
‫cambiar aquí, cuáles son estas rutas aquí, ¿de acuerdo?
‫Permítanme cambiar esto aquí y luego explicar por
‫qué tiene que ser así.
‫Entonces aquí, solo queremos la
‫ruta, y aquí, solo queremos la identificación, ¿de acuerdo?
‫Ahora, ¿por qué es eso?
‫Bueno, es porque este middleware tourRouter, solo se
‫ejecuta en esta ruta aquí de todos modos, ¿de acuerdo?
‫Y así, una vez que estemos
‫en el enrutador, ya estamos en esta ruta.
‫Entonces, en nuestro tourRoute, y en esta primera ruta
‫que teníamos antes, solo queremos ejecutarla como api /
‫versión uno / tours y eso
‫es lo que significa esta ruta aquí ahora, ¿de acuerdo?
‫Entonces, es básicamente la ruta de esta URL, ¿de acuerdo?
‫Entonces, ¿esta pequeña mini aplicación, de acuerdo?
‫Entonces, en realidad, cuando creamos un sistema de enrutador
‫como este, en realidad decimos que creamos una pequeña aplicación secundaria para
‫cada uno de estos recursos, ¿de acuerdo?
‫Así que esta es la ruta de o la
‫mini aplicación, que de nuevo es en / tours, ¿de acuerdo?
‫Y luego la segunda ruta, está en / id, ¿verdad?
‫Y eso es porque,
‫antes, estaba en tours / id, así que fue todo esto.
‫Así que así, pero ahora, esta URL aquí
‫ya está en nuestro tipo de ruta principal aquí, ¿verdad?
‫Digamos que ahora tenemos una solicitud
‫entrante para / api / version one / tours / version id.
‫Entonces, la solicitud entra en la pila de
‫middleware y cuando llega a esta línea
‫de código aquí, coincidirá con esta URL aquí, ¿verdad?
‫Por lo tanto, coincidirá con esta ruta y, por
‫lo tanto, se ejecutará la función de middleware de dos enrutadores.
‫Entonces, o dos enrutadores es esta subaplicación que creamos, que a
‫su vez tiene sus propias rutas, ¿de acuerdo?
‫Y si la solicitud fue para / id,
‫bueno, entonces dentro de
‫nuestra mini aplicación, presione esta ruta aquí, ¿verdad?
‫Y finalmente,
‫por supuesto, ejecutará uno de estos identificadores aquí,
‫dependiendo del método que se utilizó.
‫Así que espero que tenga sentido.
‫Entonces, ahora sigamos adelante y hagamos
‫lo mismo con todos los usuarios, ¿de acuerdo?
‫Entonces, seguiré adelante y crearé otro enrutador aquí, (escritura con
‫teclado) llamado, el enrutador de usuario, y luego, como
‫antes, es rápido. El
‫enrutador no es así, sí.
‫Bien, use un enrutador, y
‫luego debemos hacer el mismo proceso que aquí.
‫Y, por cierto, esto se llama montar el enrutador, ¿de acuerdo?
‫Entonces, montar un nuevo enrutador en una ruta, básicamente, ¿de acuerdo?
‫Así que ahora tenemos usuarios y aquí usuario.
‫Y de hecho, montar los
‫enrutadores tiene que venir después de todas estas
‫definiciones o al menos después de que declaramos una variable, ¿verdad?
‫Por lo tanto, no
‫podemos usar los enrutadores antes de declararlos.
‫Bien, ahora todo lo que tenemos que
‫hacer es seguir adelante y también cambiar las rutas aquí.
‫Y así, al igual que antes, si ahora hay
‫una solicitud para / api / version one / users / id, la
‫solicitud ingresará a la pila de middleware
‫y cuando llegue a este middleware
‫aquí, ejecutará el enrutador
‫del usuario, porque esta ruta aquí es emparejado, ¿de acuerdo?
‫Y luego ingresa al enrutador
‫del usuario y
‫nuevamente, como antes, este error es la ruta básicamente en nuestra
‫subaplicación, y esto aquí, es la URL / id completa, ¿de acuerdo?
‫¿Tiene sentido?
‫Entonces, antes
‫de continuar, probemos si esto todavía funciona.
‫Entonces, obtengamos todos los recorridos aquí y, de hecho, lo hace.
‫Así que todo sigue funcionando igual con los usuarios
‫y eso sigue funcionando.
‫Así que hicimos todos estos cambios y decodificamos las
‫obras, lo que significa que nuestros dos nuevos enrutadores están montados correctamente.
‫Muy bien, y con eso, estamos listos para separar
‫o diferentes enrutadores ahora en diferentes archivos.
‫Y eso lo haremos bien en la próxima conferencia.