Bien, bienvenidos de nuevo a esta lección, vamos a continuar donde lo dejamos y
continuar hablando de enrutamiento y expresar tres objetivos principales.
El primero es mostrar lo que se llama splatt o el matcher de la Ruta Estelar.
Y luego quiero que escribas rutas que contengan parámetros de ruta.
Entonces hablaremos sobre cómo hacemos eso, qué parámetros de ruta son.
Y, por último, quiero tener una discusión rápida sobre el orden de Raut.
Empecemos.
Estoy usando exactamente la misma primera aplicación express que usamos antes.
Es solo un solo acto.
Sí.
Y un directorio de mandriles de nodo con el APTA Express instalado sí tiene nuestro Hola. Hay rutas de perro
de corte y siguen y continuaremos añadiendo a esto en esta lección.
El primero de esos objetivos que abordaré es presentar el splatt o el matcher de Ruta Estelar ante nosotros o
cualquier código nuevo.
Voy a iniciar el servidor así que el nodo que he hecho sí.
bien, luego abriré la pestaña donde estoy visitando la aplicación y quiero mostrarte este mensaje primero.
Asegúrate de que empiece
Esto sucede cuando intenta acceder a una de sus aplicaciones cuando el servidor no se está ejecutando pero
el servidor se está ejecutando ahora.
Entonces, si actualizo ahora, recibo mi saludo o si voy a atacar a Doug, ahora me entiendo.
Pero cuando quiero mostrar es si voy a una ruta que no existe como Slash Dogs y presiono enter y mostré esto
antes, obtengo un can not slash dogs y eso sucederá para cualquier ruta a la que vaya,
a menos que sea uno de los tres que hemos definido.
Slash dog and slash by.
Entonces, si queremos tener algún tipo de mensaje publicitario, respondemos a cualquier otra ruta
a excepción del perro y la ruta en que podemos usar la estrella.
Así que parece que esto tendrá un buen rendimiento y solo obtenemos estrellas y procedemos con
todo lo demás exactamente igual.
Y en vez de aquí solo haremos un punto rojo y tú eres una estrella así y ahorras.
Por lo tanto, este código se activará. Se ejecutará esta línea aquí.
Cada vez que nuestra aplicación reciba una solicitud de obtención de información, aparte de estas tres que ya hemos definido,
le mostraré que ahora debe reiniciar el servidor.
Ok, lo reinicié.
Actualiza la página, nada debería cambiar.
Pero ahora si voy a alguna ruta aleatoria de astilladora y presiono enter, entiendo que eres una estrella.
Pero mis otras rutas no han cambiado.
Si voy a la barra que todavía funciona si voy a cortar el perro que todavía funciona, pero si voy al jibberish consigo
que eres una estrella.
web que muestre a un usuario cada vez que intente y acceda a una ruta que no está definida o
una que no espera que pueda mostrar algún tipo de mensaje o alguna plantilla HDMI que dice Página no encontrada.
Esto es especialmente útil si desea tener algún tipo de mensaje de error o área de página
Volvamos ahora a nuestro editor y voy a intentar algo donde voy a copiar esto o cortarlo y
moverlo por encima de las otras rutas y simplemente guardarlo para no cambiar nada.
Aparte del orden en el que ahora mi ruta de estrella es el catchall, primero y luego voy
a reiniciar mi servidor Control-C y luego flecha arriba.
Ahora voy a volver atrás y actualizar la página, y esto no debería cambiar porque esto todavía es un jibber.
Por lo tanto, sigue golpeando para atrapar todas las rutas y no golpear ninguna de las otras rutas.
intento ir a cortar el perro, obtengo tu estrella y, si intento ir a atacar, también consigo tu estrella.
Pero si intento ir a la página raíz, sigo siendo una estrella, si
Entonces, esto llega a ese tercer objetivo, que es que quería tener una discusión sobre el orden de las rutas
y que la discusión se reduce a este orden de los asuntos de la ruta.
Entonces, en este caso, si pongo esta captura a la estrella que coincide con todo si la pongo primero,
entonces nada más se igualará nunca.
El concepto clave es que la primera ruta que coincida con una solicitud dada es la única ruta que se
ejecutará.
Entonces, para una solicitud, nunca tendremos este código en ejecución.
Y luego este código si una de estas devoluciones de llamada se está ejecutando si se está desencadenando, entonces terminamos.
Entonces esa solicitud se ha manejado y nunca pasa a estas otras rutas.
Pero digamos y vamos a mover esto de regreso a donde estaba, digamos que este es mi código
y alguien hace una solicitud para cortar el perro.
Lo primero que sucederá es que va a verificar si coincide con esta ruta.
¿Fue una solicitud de get a slash?
La respuesta es no.
Entonces, verifica esto.
¿Fue una solicitud de compra?
Nop.
Entonces, verifica esto.
¿Fue una solicitud para cortar el perro?
La respuesta es sí.
Entonces ejecuta este código y luego está hecho.
No avanza y verifica esto al final.
supuesto, pongo esto primero, es problemático porque anula cualquiera de las otras rutas que hemos definido.
Así que, por
Y siempre responderé con una estrella que, aunque constituye un gran sitio web motivacional, no es el
comportamiento que estamos buscando en una aplicación web real.
Y el último objetivo del que quiero hablar y que definitivamente es el más importante
es algo llamado parámetros de ruta para ayudar a introducir parámetros de ruta.
Voy a utilizar Reddit dot com y le mostraré algunas de sus rutas para aquellos con quienes
no está familiarizado. Le recomiendo que lo evite a toda costa.
No escuches lo que voy a decir.
Perderá toda la productividad de su vida de la misma forma en que funciona, ya que las personas pueden publicar
publicaciones diferentes, ya sea un enlace, una imagen, un video o solo texto.
Dos subeditores diferentes y hay miles y miles de subconjuntos diferentes, cada uno con
una categoría.
Así que en este momento estoy mirando el fútbol subtitulado, también podría ir al de juegos, a la música o
divertido, a noticias o películas.
Y cada uno de ellos tiene contenido relacionado con ese tema.
Entonces, en este caso, estoy en el sub-juego de fútbol y noté que la ruta Reddit punto com slash es una barra de fútbol.
Entonces cuando le pregunté al servidor por Reddit punto com slash slash, Socker analiza la ruta y se da cuenta de
que estamos buscando publicaciones de fútbol. La base de datos recibe todas las publicaciones de fútbol y me las
envía en la respuesta.
Pero como mencioné anteriormente, hay miles y miles de temas diferentes y puedo
asegurarles que Reddit no está configurado así, donde hay una ruta para cada lectura.
No es fácil cortar nuestro fútbol de corte y voy a acortar eso y luego otro para la música y
otro para el cine y demás.
Diez mil veces más.
Eso no es lo rojo que funciona.
Este código no está seco en absoluto.
Recuerde soportes secos para no repetirse.
De hecho, es muy húmedo escribir todo dos veces.
Aunque es más como escribir todo 10000 veces.
Entonces, en lugar de definir una ruta separada para cada subconjunto, podríamos definir un patrón.
Y esto es lo rojo que hace.
Tienen un patrón que algo así como Slash o slash un nombre sub.
Pero si lo dejamos así, como cortamos nuestra rebanada de pan en el nombre, solo coincidirá
cuando vaya a cortar el nombre de Sublette it y coincidirán exactamente igual.
Antes de mostrarte cómo lo solucionamos cuando vuelves a leerlo y haces clic en una de las publicaciones.
Entonces, este post aquí voy a hacer clic en él y mirar la ruta.
Entonces está listo para venir.
Slash our slash soccor slash comments reduce esta cadena loca, es un IED que corta el título de la publicación o
parte del título.
a esta ruta, obtienes todos los comentarios que corresponden a esta publicación en la publicación que tiene ese título.
Y cuando vas
Y, por supuesto, hay millones y millones de publicaciones diferentes en Reddit y no cada una
tiene su propia ruta definida.
Entonces, no hay una ruta que se parezca a esto dentro del código del servidor, algo así sería una locura
tener para cada publicación.
Especialmente porque todas las publicaciones son creadas por usuarios y nadie que escriba
el código puede anticipar todas esas publicaciones diferentes.
Entonces, en su lugar, querríamos algún tipo de patrón en el que tengamos nuestro nombre de subdirectorio.
En este caso, soccer slash comenta los slash y los ID slash title y al igual que el anterior donde tenía Sublette
it name.
Esto solo coincidirá si tecleamos literalmente el carácter palabra por palabra para el personaje, que es un subconjunto. El nombre de los
comentarios de barra oblicua el título de la barra diagonal.
Entonces para convertirlo en un patrón hacemos uso de lo que se llama parámetros de ruta o variables de ruta y
en otros marcos las personas también los llaman variables de ruta.
Son muy, muy simples de implementar.
el que escuchamos una solicitud de obtención, recortamos nuestra barra con cualquier otra cosa después de cualquier nombre de Sabet.
Si quiero definir un patrón en
Todo lo que tienes que hacer es poner un punto justo ahí y eso le dice a express que no coincida con el carácter para
el subconjunto de caracteres del nombre, sino que lo convierte en un patrón en el que al usar Slash se tacha
cualquier palabra posterior.
Así que déjame comentar este por ahora y terminemos con nuestra solicitud y respuesta
y ábrelo así y todo lo que hará es leer es enviar.
Bienvenido a un tema y lo guardaremos y reiniciaremos nuestro servidor.
Ahora si quiero ver este mensaje, necesito ir a una ruta que coincida con este patrón.
Así que volvamos y actualizamos y si pasamos a la diapositiva aún obtenemos lo mismo.
Si vamos a esa página, obtenemos lo mismo.
Pero ahora, si vamos a cortar nuestros cachorros de corte, ahora recibo un mensaje que dice Bienvenido a un sub Reddit.
Así que cortar nuestros cachorros de barra sigue este patrón y así cortar nuestro fútbol de barra o cualquier otro subconjunto que
se me ocurra.
Pero es importante notar que algo como esto no funcionaría.
Redondee nuestro slash soccor slash hola que ya no funciona porque este es un patrón diferente.
Así que no es como una carta comodín donde dice cortar o cortar cualquier otra cosa después.
Lo que realmente significa es hacer coincidir todo lo que entre con Slash o cortar cualquier cosa que lo
siga.
Así que no slash son barra en el nombre slash algo más, pero slash slash soccor slash slash cachorros.
Y digo que slash es mucho y se está volviendo realmente molesto.
Así que sigamos aquí y te mostraré cómo podemos convertir este.
Se ve exactamente igual.
Solo ponemos dos puntos delante de todo lo que queremos que sea una variable y todo lo
que queremos que el usuario o la aplicación puedan cambiar.
Así que los comentarios siempre deberían ser solo comentarios en cada publicación de reddit.
Siempre es el nombre del sub Reddit, como los comentarios de barras de fútbol, ​​recortan el ID, recortan el título de
una publicación, por lo que los comentarios siempre están ahí y ahora se combinarán si voy a una derrota.
Terminemos esto. La respuesta a la solicitud de función debe venir con una ruta para que coincida con esta.
Recibí un pequeño mensaje aquí, que es realmente agradable de Cloud 9, que me dice que no esperaba que
esta impresión se viera.
Eso es porque no estaba llamando a un método.
simplemente daré la bienvenida a la página de comentarios así y todos guardar y reiniciar el servidor ahora para que coincida con esta ruta.
Así que ahora hagamos un envío de punto rojo y
Necesito ir a recortar nuestros comentarios sobre barra diagonal, barra diagonal, cortar una ID, cualquier cosa, cortar un título que
puede ser cualquier cosa.
Y hagámoslo ahora.
Vamos a ir a los comentarios de slash slash soccer slash a cualquier ID.
Haremos uno dos tres, pero no tiene que ser números.
Podría ser una palabra.
No importa en absoluto.
Y luego recortan un título como mi primer juego de fútbol y si pulsamos Enter, ahora recibimos Bienvenido a la página
de comentarios.
Pero, por supuesto, puedo cambiar esto y convertirlo en una cadena aleatoria.
Y luego otro título que es una cadena aleatoria o solo números.
Y aún coincido con ese patrón.
Por lo tanto, no se está comprobando el hecho de que algo sea letras o palabras o tenga guiones bajos o
que tenga al menos 10 caracteres, no le importa.
Hay formas de hacerlo.
Pero lo único que importa es un patrón de fragmentos de texto seguidos por y divididos por barras. Lo último y
más importante es cómo accedemos a estos datos en lugar de a nuestro manejador de rutas.
Entonces, si quería enviar un mensaje aquí, era usted bienvenido al fútbol. Sublette cuando el usuario
vaya a cortar el fútbol.
Pero quiero que cambie también.
Bienvenido a los cachorros.
Así que lo he leído cuando van a nuestros cachorros slash.
Necesito una forma de acceder a eso.
Y usted sabe cuál fue el valor de subarrendarlo para él y expresarnos nos da una manera agradable y
fácil de hacerlo en lugar de este objeto de solicitud.
Hasta ahora solo hemos estado trabajando con los residentes de respuesta y el objeto de
solicitud contiene toda la información sobre la solicitud entrante.
Hagamos una simple estafa. solicitudes de registro y probablemente no podamos ver todo
eso porque hay mucho allí que solo imprimirá un pequeño subconjunto de él.
Pero intentemos y reiniciemos el servidor y conectemos esta ruta.
Así que nuestra barra lo envía al fútbol.
Y aquí puedes ver que realmente imprime todo.
Y entonces hay mucha información proveniente de esa solicitud.
Eso está todo impreso aquí.
Y lo que estoy buscando es algo que se llama parámetros de solicitud, que debería estar donde vamos aquí mismo.
Es un objeto que contiene todos los parámetros de ruta y sus valores correspondientes.
Entonces, en este caso, el nombre de Sub Redit es igual a Socker porque fui a cortar nuestro fútbol.
Entonces, lo que podemos hacer es cancelar que las solicitudes de registro dejen de hacer harams en
lugar de hacerlo todo, guardar y luego actualizar o reiniciar el servidor.
Y ahora si voy a cortar nuestra barra hola, dirá que el nombre subtendido es hola.
Ellos pueden hacer lo mismo con los cachorros.
Y ahí vamos.
Permítanme mostrarles lo mismo cuando tenemos múltiples parámetros de ruta como lo hacemos aquí.
Así que lo pondré justo allí.
Guarde el reinicio del servidor nuevamente y luego activará esta ruta yendo a los comentarios de slash
puppies slash en un título de ID.
Mi núcleo es lindo y presiono enter y obtenemos.
Bienvenido a la página de Commons.
Y si miro en la terminal, veré que tenemos tres parámetros de ruta diferentes
tres harams diferentes.
Subtitular su nombre como ID de cachorros es 1 2 3 4 y el título es mi Corgi es lindo.
Concluya cuando respondamos con Bienvenido a un subconjunto que en realidad lo hagamos.
Bienvenido al cachorro esparcido.
Bienvenido a lo que sea que se haya propagado.
Y para hacerlo un poco más divertido, asegurémonos de que todo esté en mayúsculas.
Entonces, lo que haremos es hacer una variable muy lejana y la llamaremos sub igual a request up harams sub. El nombre de redit tiene
que coincidir exactamente con lo que llamamos aquí.
Recuerde que es solo dentro de esta solicitud.
Objeto de Harams en lugar de solo responder con la bienvenida a un subconjunto, lo hará.
Bienvenido al espacio
Además lo he leído y lo he leído, así que será bienvenido a los cachorros.
Léelo y no estará en mayúsculas.
aquí mismo en Sublette y me desharé de ese punto y coma y guardaré y reiniciaré el servidor.
Entonces, para hacer esa mayúscula podemos usarla en mayúsculas podemos hacer eso aquí o podríamos hacerlo
Regresemos y activemos esa ruta nuevamente.
Entonces este no lo disparará.
Esto es para el enrutador que tiene múltiples parámetros.
Solo queremos que nuestros cachorros de aguanieve y yo consigamos.
Bienvenido al cachorro.
Listo.
lo hago son cachorros tajados o son perros de corte todos adultos o gatos y ahora tengo una página web dinámica.
Ahora si
De acuerdo, terminemos esto muy rápido y volvamos a cuando usemos la estrella en lugar de una
definición de ruta.
Emparejará todo lo que entre y, junto con eso, el orden en que definiremos los asuntos de
la ruta.
Entonces, si ponemos la estrella Routemaster en la parte superior, no habrá otras rutas debajo de ella.
Pero si lo ponemos en la parte inferior, que es donde normalmente va, se comportará como un tipo catch
all como una instrucción else.
Si no hay otra ruta que coincida, de lo contrario coincida con la estrella.
Por último, hablamos sobre los parámetros de ruta que podemos usar para definir un patrón en una ruta que no
tiene que coincidir palabra por palabra o carácter para el carácter.
Solo tiene que coincidir en el mismo patrón.
Entonces, algo como esto donde puedo tener a Slash es recortar cualquier subconjunto que le dé nombre.
Está bien, eso es todo.
Entonces, en el próximo video vamos a hacer otro ejercicio y esta vez escribirás tu propia
aplicación Express desde cero y estarás usando rope harams en algunos de los wraps.