OK, bentornati in questa lezione, riprendiamo da dove eravamo rimasti e continuiamo a
parlare di routing ed esprimiamo tre obiettivi principali.
Il primo è mostrare quello che viene chiamato splatt o matcher Star Route.
E poi voglio che tu scriva percorsi contenenti i parametri del percorso.
Quindi parleremo di come lo facciamo, quali sono i parametri del percorso.
E infine voglio fare una breve discussione sull'ordine di Raut.
Iniziamo.
Sto usando la stessa identica prima app express che abbiamo usato prima.
È solo un atto.
Sì.
E una directory di nodi mandrels con Express APTA installato sì ha il nostro Ciao ci sono e sono percorsi
di slash dog e continueremo ad aggiungere a questo in questa lezione.
Il primo di quegli obiettivi che colpirò è l'introduzione del matcher splatt o Star Route prima di noi o
qualsiasi nuovo codice.
Sto solo avviando il server in modo che il nodo abbia fatto sì.
aprirò la scheda in cui sto effettivamente visitando l'app e voglio mostrarti questo messaggio per primo.
Assicurati che inizi bene, quindi
Questo succede quando si tenta di accedere a una delle applicazioni quando il server non è in esecuzione, ma
il server è in esecuzione ora.
Quindi, se mi rinfresco ora, vado da lei o se vado a tagliare Doug, adesso mi prendo.
Ma quando voglio mostrare è se vado su una rotta che non esiste come Slash dogs e colpisco invio e l'ho mostrato
prima ho capito che non posso prendere i cani slash e questo accadrà per qualunque percorso io
vada a meno che non sia uno dei tre che abbiamo definito.
Slash dog e slash di.
Quindi, se vogliamo avere una sorta di catchall di una sorta di messaggio che rispondiamo a tutte
le altre vie tranne che per il cane e il percorso, possiamo usare la stella.
In questo modo otterremo un apt e otteniamo semplicemente la stella e procediamo con tutto
il resto esattamente lo stesso.
E invece di qui faremo solo un punto rosso e tu sei una stella proprio così e salva.
Quindi questo codice verrà attivato questa riga verrà eseguita.
Ogni volta che la nostra app riceve una richiesta di riconoscimento da parte di questi tre che abbiamo già definito,
ti mostrerò che ora devi riavviare il server.
Ok, riavviato.
Aggiorna la pagina non dovrebbe cambiare nulla.
Ma ora, se vado in un percorso casuale a chipper ish e premo invio, capisco che sei una star.
Ma le mie altre rotte sono invariate.
Se vado al taglio che funziona ancora se vado al cane da slash che funziona ancora, ma se vado in un linguaggio jibberish, capisco
che sei una star.
che mostri un utente ogni volta che provano e accedono a un percorso che non è definito o che non ti
aspetti puoi mostrare una sorta di messaggio o un modello HDMI che dice che la pagina non è stata trovata.
Questo è particolarmente utile se vuoi avere qualche tipo di messaggio di errore o area della pagina web
Torniamo ora al nostro editor e proverò qualcosa in cui copierò o tagliando e
spostandolo sopra gli altri percorsi e salvandolo, quindi non cambiare nulla.
A parte l'ordine in cui ora la mia stella dirige il catchall viene prima e poi riavvierò
il mio server Control-C e poi la freccia su.
Ora ho intenzione di tornare indietro e aggiornare la pagina e questo non dovrebbe cambiare perché questo è ancora jibberish.
Quindi sta ancora colpendo che prende tutto il percorso e non colpisce nessuno degli altri percorsi.
ad andare a un cane da slitta, ho la tua stella e se provo ad andare a comprare, ho anche la tua stella.
Ma se provo ad andare alla pagina radice, continuo a farti diventare una star se provo
In questo modo raggiungo il terzo obiettivo che voglio discutere sull'ordine dei percorsi
e la discussione si riduce a questo ordine di argomenti.
Quindi, in questo caso, se metto questa presa tutta la stella che corrisponde a tutto se la
metto prima, nient'altro sarà mai abbinato.
Il concetto chiave è che il primo percorso che corrisponde a una determinata richiesta è l'unica rotta che verrà
eseguita.
Quindi per una richiesta non avremo mai questo codice eseguito.
E poi questo codice se uno di questi callback è in esecuzione se viene attivato, quindi abbiamo finito.
Quindi quella richiesta è stata quindi gestita e non passa mai a queste altre rotte.
Ma diciamo e lo spostiamo indietro nel punto in cui diciamo che questo è il mio codice
e qualcuno fa una richiesta per tagliare il cane.
La prima cosa che accadrà è espressa sta andando a controllare se corrisponde a questa rotta.
È stata una richiesta di prelievo.
La risposta è no.
Quindi controlla questo.
È stata una richiesta di acquisto.
No.
Quindi controlla questo.
E 'stata una richiesta per tagliare il cane.
La risposta è si.
Quindi esegue questo codice e quindi è fatto.
Non si muove e controlla questo alla fine.
messo per primo perché è problematico perché sostituisce qualsiasi altro percorso che abbiamo definito.
Quindi, naturalmente, l'ho
E risponderò sempre con una stella che, sebbene rappresenti un ottimo sito Web motivazionale, non è il comportamento
che stiamo cercando in una vera e propria app web.
E l'ultimo obiettivo di cui voglio parlare è sicuramente quello più importante è qualcosa
chiamato parametri del percorso per aiutare a introdurre i parametri del percorso.
Userò Reddit dot com e ti mostrerò alcuni dei suoi percorsi per coloro che non hanno familiarità
con la lettura, consiglio vivamente di evitare a tutti i costi.
Non ascoltare quello che sto per dire.
Perderai tutta la produttività della tua vita nel modo in cui funziona è che le persone possono pubblicare post diversi sia che si tratti
di un collegamento o di un'immagine o di un video o semplicemente di un testo.
Due diversi subeditors e ci sono migliaia e migliaia di sottoinsiemi diversi ciascuno con
una categoria.
Quindi adesso sto guardando il calcio sotteso che potrei anche andare al gioco o alla musica o ai divertenti o
alle notizie o ai film.
E ognuno di questi ha contenuti correlati a quell'argomento.
Quindi in questo caso sono in sottomarino di calcio a leggerlo e ho notato la strada che Reddit dot com slash è il calcio.
Così quando ho chiesto al server per Reddit dot com slash slash Socker analizza il percorso e ci rendiamo conto che
stiamo cercando i messaggi di calcio che vanno al database che ricevono tutti i post di calcio e me
li manda nella risposta.
Ma come ho detto prima ci sono migliaia e migliaia di soggetti diversi e posso
assicurarti che Reddit non è impostato in questo modo, dove c'è un percorso per ogni singolo lettore.
Non è adatto a tagliare il nostro slash soccer e io accorgerò quello e poi un altro per la musica e un
altro per i film e così via.
Diecimila e più volte.
Non è così rosso funziona.
Questo codice non è affatto secco.
Ricorda che i supporti a secco non si ripetono.
In effetti è molto umido scrivere tutto due volte.
Anche se è più come scrivere tutto 10000 volte.
Quindi, piuttosto che definire un percorso separato per ogni singolo sottoinsieme, potremmo definire un modello.
E questo è ciò che fa rosso.
Hanno uno schema che somiglia a Slash o taglia un sottotitolo.
Ma se lo lasciamo in questo modo tagliando la nostra fetta di pane al nome, si abbinerà solo quando andrò
a tagliare il nostro slash del nome di Sublette e lo abbineranno esattamente allo stesso modo.
Prima di mostrarti come andiamo in giro quando torni a leggere e fai clic su uno dei post.
Quindi questo post qui ho intenzione di fare clic su di esso e guardare il percorso.
Quindi è pronto per venire.
Taglia i nostri commenti slash su Slash di soccor tagliando questa stringa pazza è uno IED taglia il titolo del post o
parte del titolo.
su questa strada ottieni tutti i commenti che corrispondono a questo post per il post che ha quel titolo.
E quando vai
E naturalmente ci sono milioni e milioni di post diversi su Reddit e non ognuno di
loro ha definito la propria rotta.
Quindi non c'è un percorso simile a questo all'interno del codice del server, qualcosa di simile sarebbe pazzesco da avere
per ogni singolo post.
Soprattutto perché i post sono tutti creati dagli utenti e nessuno che sta scrivendo
il codice può anticipare tutti questi post diversi.
Quindi preferiremmo una sorta di schema in cui abbiamo il nostro slash sub leggerlo nome.
In questo caso, la barra del commento di slash e slash Id slash e proprio come quella sopra dove aveva il nome
di Sublette.
Questo corrisponderà solo se letteralmente digitiamo parola per carattere carattere per carattere sono un tale sottoinsieme che il
nome barra commenti esclude il titolo barra ID.
Quindi, per trasformarlo in un modello, facciamo uso di quelli che sono chiamati parametri di rotta o variabili di percorso e
in altri quadri le persone li chiamano anche variabili di percorso.
Sono molto semplici da implementare.
cui ascoltiamo una richiesta get per tagliare la nostra barra qualsiasi altra cosa dopo ogni singolo Sabet si chiama.
Se voglio definire un pattern in
Tutto quello che devi fare è mettere i due punti proprio lì e questo dice a espressamente che non corrisponde effettivamente al carattere
per il sottoinsieme di caratteri del nome, ma per renderlo un modello in cui il relying di Slash è una
barra in seguito.
Quindi lasciatemi commentare questo per ora e finiamo questo con la nostra richiesta e risposta
e aprilo così e tutto ciò che farà è leggere è inviare.
Benvenuto in un argomento e lo salveremo e riavviare il nostro server.
Ora se voglio vedere questo messaggio ho bisogno di andare su un percorso che corrisponda a questo schema.
Quindi torniamo indietro e aggiorniamo e se andiamo a scivolare abbiamo ancora la stessa cosa.
Se andiamo a quella pagina, otteniamo la stessa cosa.
Ma ora se andiamo a tagliare i nostri cuccioli di taglia, ora ricevo un messaggio che dice Benvenuto in un sotto Reddit.
Quindi tagliare i nostri cuccioli taglia seguendo questo schema e quindi tagliare il nostro slash soccer o qualsiasi altro sottoinsieme
che potrei inventare.
Ma è importante notare che qualcosa del genere non funzionerebbe.
Taglia il nostro slash soccor slash ciao che non funziona più perché questo è un modello diverso.
Quindi non è come una wild card in cui si dice taglia o taglia qualcos'altro in seguito.
Ciò che significa in realtà è abbinare tutto ciò che viene fornito con Slash o tagliare qualsiasi cosa che lo
segue.
Quindi non tagliare sono slash al taglio di nome qualcos'altro, ma tagliano i cuccioli di slash di soccor slash slash.
E sto dicendo che lo slash è molto e sta diventando davvero fastidioso.
Quindi andiamo avanti qui e ti mostrerò come possiamo convertire questo.
Sembra esattamente lo stesso.
Abbiamo messo i due punti davanti a tutto ciò che vogliamo essere una variabile e qualsiasi cosa
vogliamo che l'utente o l'applicazione siano in grado di cambiare.
Quindi i commenti dovrebbero sempre essere solo commenti su ogni post reddit.
È sempre il nome del sottotitolo Reddit come i commenti della barra del calcio che tagliano la barra ID il titolo
di un post, quindi i commenti sono sempre lì e questo sarà ora abbinato se vado su una rotta.
Finiamo questa risposta della richiesta di funzione deve venire con un percorso per abbinare questo.
Qui ho ricevuto un piccolo messaggio che è molto bello da Cloud 9 che mi dice che non si aspettava che
questa stampa potesse vedere.
Questo perché non stavo chiamando un metodo.
a dare il benvenuto alla pagina dei commenti proprio così e tutti salvano e riavviano il server ora per abbinare questo percorso.
Quindi ora eseguiamo un punto rosso e mi limiterò
Devo andare a tagliare il nostro slash di sottotitoli con il nome di barra commenti che tagliano un ID qualsiasi cosa taglia un titolo
che può essere qualsiasi cosa.
E facciamolo ora.
Andremo a tagliare tagliandi di tagliandi di calcio tagliati su qualsiasi ID.
Faremo uno due tre ma non deve essere un numero.
Potrebbe essere una parola.
Non importa affatto.
E poi tagliare un titolo come il mio primo gioco di calcio e se premiamo Invio, ora arriviamo alla pagina
dei commenti.
Ma ovviamente posso cambiarlo e renderlo una stringa casuale.
E poi un altro titolo che è una stringa casuale o solo numeri.
E abbino ancora quel modello.
Quindi non sta controllando il fatto che qualcosa sia lettere o parole o abbia caratteri di sottolineatura o che
siano almeno 10 caratteri a cui non importa.
Ci sono modi per farlo.
Ma a tutto questo interessa un modello di blocchi di testo seguito e diviso da barre l'ultima e più importante
è la modalità con cui accediamo a questi dati anziché il nostro gestore di percorsi.
Quindi se volessi mandare qui un messaggio che sapevi, benvenuto al calcio Sublette quando l'utente va
a tagliare il calcio.
Ma voglio che cambi anche.
Benvenuto nei cuccioli.
Quindi l'ho letto quando vanno ai nostri cuccioli di taglia.
Ho bisogno di un modo per accedervi.
E sai qual è stato il valore di subaffittarlo e ha espresso un modo semplice e facile
per farlo al posto di questo oggetto di richiesta.
Finora abbiamo lavorato solo con i residenti della risposta e l'oggetto richiesta contiene
tutte le informazioni sulla richiesta in arrivo.
Facciamo solo una semplice truffa. richieste di log e probabilmente non saremo in grado di vedere
tutto questo perché c'è così tanto là che stamperà solo un piccolo sottoinsieme di esso.
Ma proviamo e riavvia il server e colpisci questa rotta.
Quindi il nostro slash lo presenta come nome per il calcio.
E qui puoi vedere che in realtà stampa tutto il resto.
E quindi ci sono molte informazioni provenienti da quella richiesta.
Questo è tutto da stampare qui.
E quello che sto cercando è qualcosa chiamato parametri di richiesta che dovrebbe essere dove andiamo proprio qui.
È un oggetto che contiene tutti i parametri del percorso e i loro valori corrispondenti.
Quindi in questo caso il nome sub redit è uguale a Socker perché sono andato a tagliare il nostro slash soccer.
Quindi, quello che possiamo fare è annullare le richieste di registro che interrompono l'haram piuttosto che
l'intera cosa, salvate e quindi aggiornate o riavviate il server.
E ora se vado a tagliare il nostro slash ciao dirà che il nome sotteso è ciao.
Possono fare la stessa cosa per i cuccioli.
E noi andiamo.
Lascia che ti mostri la stessa cosa quando abbiamo più parametri di percorso come facciamo qui.
Quindi lo metterò proprio lì.
Salva di nuovo il server di nuovo e poi si attiverà questa rotta andando al nostro tagliando i commenti
barra obliqua barra di un titolo barra ID.
Il mio nucleo è carino e premi invio e otteniamo.
Benvenuto nella pagina dei Commons.
E se guardo nel terminale vedrò che abbiamo tre diversi parametri di percorso
tre diversi haram.
Sottoinsiemi il nome come ID dei cuccioli è 1 2 3 4 e il titolo è il mio Corgi è carino.
Racchiudilo quando rispondiamo con Welcome in un sottoinsieme che in realtà lo facciamo.
Benvenuto nel cucciolo spalancato.
Benvenuto a qualsiasi cosa sia diffusa.
E per renderlo un po 'più divertente assicuriamoci che sia tutto in maiuscolo.
Quindi, quello che faremo è fare una variabile lontano e la chiameremo sub uguale alla richiesta up harams il nome sub redit deve
corrispondere esattamente a ciò che abbiamo chiamato qui.
Ricorda che è solo all'interno di questa richiesta.
Gli Harams obiettano piuttosto che rispondere semplicemente con un sottogruppo che farà.
Benvenuto nello spazio.
Inoltre l'ho letto e l'ho letto in modo che sia il benvenuto ai cuccioli.
Leggilo e non sarà maiuscolo.
farlo proprio qui su Sublette e mi libererò di quel punto e virgola, salvando e riavviando il server.
Quindi per rendere quella maiuscola che possiamo usare in maiuscolo possiamo farlo qui o potremmo
Torniamo indietro e attiviamo di nuovo quella rotta.
Quindi questo non lo innescherà.
Questo è per il router che ha più parametri.
Vogliamo solo i nostri cuccioli e io ricevo.
Benvenuto nel cucciolo.
Pronto.
lo faccio sono cuccioli tagliati o cani da slittino tutti cresciuti o gatti e ora ho una pagina web dinamica.
Ora se
Va bene, quindi riassumiamolo molto rapidamente e torniamo a quando usiamo la stella anziché una definizione
di percorso.
Corrisponde a tutto ciò che viene fornito e insieme all'ordine in cui definiamo le questioni
del percorso.
Quindi se mettiamo in alto la stella Routemaster non ci saranno altri percorsi sotto di essa.
Ma se lo mettiamo in fondo, che è dove normalmente va, si comporterà come una sorta di
presa come ogni altra dichiarazione.
Se nessun'altra rotta è abbinata, altrimenti coincide con la stella.
Infine abbiamo parlato dei parametri del percorso che possiamo usare per definire un pattern in un percorso che non
deve necessariamente corrispondere parola per parola o carattere per carattere.
Basta essere abbinati nello stesso schema.
Quindi qualcosa del genere in cui posso avere Slash taglia ogni sottoinsieme che porta il suo nome.
Va bene così è.
Quindi nel prossimo video faremo un altro esercizio e questa volta scriverete la vostra app
Express da zero e userete i haram di corda in alcuni di essi