Bene, tornate in questa lezione, continueremo a lavorare sul campo yo ma non
aggiungeremo nuove funzionalità o funzionalità.
Stiamo solo andando a rifattorizzare il codice esistente.
Quindi ho parlato del refactoring dei percorsi e della nostra app J. S. per molto tempo ed è
cresciuto sempre più fuori controllo e qui abbiamo abbastanza codice che merita di refactoring e
ci concentreremo sulle rotte.
Quindi lasciatemi solo evidenziare i diversi gruppi di percorsi che abbiamo adesso.
Abbiamo i nostri percorsi di autenticazione di circa 40 linee qui e abbiamo un percorso di commento proprio lì.
E poi abbiamo anche le nostre gocce per il campeggio che seguono altre 40 linee qui.
Quindi quelli sono i tre principali gruppi di rotte che abbiamo.
E li divideremo in tre file diversi e quindi li
richiederemo tutti, quindi avremo bisogno di un pilastro che assomiglia a var route di commento uguali e avremo i commenti della barra delle
directory di una rotta.
Quindi dovremo fare quel lavoro.
Al momento non funzionerà e faremo la stessa cosa per il campeggio e per le nostre gole.
E questa è solo la prima parte.
Dividere le cose in file diversi e poi ti mostrerò un altro modo in cui possiamo asciugare le
nostre strade ancora di più e rendere le cose un po 'più pulite usando il router Express.
Quindi ci arriveremo, ma comincerò facendo la directory di un percorso e sto lavorando
all'interno di 7 a questo punto perché stiamo apportando modifiche sostanziali alla struttura dell'applicazione e alle directory.
Quindi sarebbe abbastanza confuso se non avessi fatto una nuova versione.
Faremo una directory chiamata per i percorsi e poi faremo tre percorsi
di file diversi. Slash campground J Le rotte statunitensi tagliano i commenti verso di noi e tracciano le rotte su percorsi e
possiamo chiamarlo off J. S. rotte di tutti gli scopi che non sono correlate a un particolare modello.
o potremmo chiamarlo indice che è un altro che vedrai spesso per le
E ci vado con quello per ora.
Indice Sì.
Quindi apriamoli e se facciamo C9 su una directory, verranno visualizzati tutti e tre.
E poi possiamo semplicemente cliccare su quelli che vogliamo.
Quindi ora abbiamo questa piccola sottostruttura che abbiamo favorito.
Cominciamo lavorando con i campeggi aperti e sto solo andando a copiare tutti i percorsi del campeggio
fuori da qui.
In questo modo inizia proprio qui e questo va giù fino a quando il nostro commento non finisce lì.
Incolliamolo nel campo e non funzionerà automaticamente fuori dalla scatola.
Dovremo cambiare alcune cose.
Ma iniziamo dividendo semplicemente i file.
Quindi dopo lavorerò con i commenti e avremo solo 2 percorsi di commento o no.
Quindi prendo entrambi quelli che li mettono in questo file.
Infine apriremo l'indice sì e aggiungeremo l'altro percorso in modo da avere la nostra rotta.
e lo rifaseremo separatamente ma questo appartiene ai percorsi di autenticazione perché è lì che lo stiamo usando.
E poi le rotte di autenticazione fino a qui e ho intenzione di fare questo è loggato
insieme a noi
Ed è anche una dipendenza delle rotte dei commenti.
Sì, stiamo usando è loggato anche qui.
Quindi copiamo tutto questo dentro
Quindi è registrato su tutti i percorsi incluso il percorso del percorso.
E ora abbiamo davvero ripulito il file di accesso.
Incolliamolo nell'indice si e salviamo.
E stiamo ricevendo errori dappertutto perché i nostri file non sanno a quale app si riferisce.
Come puoi vedere, uno dei problemi si sta verificando.
Ma in realtà non dichiareremo un'applicazione variabile come faremmo in passato con
la nostra app Express.
Faremo qualcosa di leggermente diverso.
Useremo il router rapido e la macchina con quello che sembra iniziare.
caso richiederemo espressamente che Express equivalenti richieda express e quindi andremo a scrivere
var router equals express dot router e quindi aggiungeremo tutti i route sul router piuttosto che sull'app.
In questo
E lo faremo prima solo per mostrarti e poi spiegherò perché questo vale anche la pena farlo.
Quindi lo faremo.
E poi, naturalmente, dobbiamo esportare qualcosa da questo file e tutto ciò che dobbiamo esportare è
il router, quindi il modulo che esporta è uguale al router.
Quindi abbiamo creato questa variabile router uguale a express dot router fondamentalmente una nuova istanza del
router Express e quindi stiamo aggiungendo tutti i percorsi al router non aggiungendoli più all'app stessa.
Ma a questo router e poi stiamo tornando o esportando il router alla fine.
E questo è il campeggio che sì.
E se vado alla mia app, ho intenzione di iniziare richiedendo tutti i miei file del router.
Quindi lo farò separatamente dalle altre dipendenze delle rotte
di commento var e poi avremo percorsi per i campeggi.
E poi abbiamo anche Auth. e farà tutto da pari a pari e tutti raggruppati insieme.
È così.
OK richiede l'indice della barra dei punti della barra del punto e possiamo richiamare questo indice Raf se volete.
OK, lo salveremo.
Ora stiamo importando o richiedendo questi tre file.
Ma questo non è abbastanza per noi per usarli effettivamente ancora.
Abbiamo richiesto i file e solo uno di essi sta effettivamente esportando qualcosa.
I commenti e gli indici sono ancora problematici.
Ma se torniamo ad Apter Sì, dobbiamo scrivere un'app che uso.
Quindi lo farò qui e ti mostrerò come appare dopo averlo usato.
E poi dobbiamo dargli il nome dei nostri percorsi che abbiamo richiesto.
Quindi commenta i percorsi dei campeggi e le rotte degli indici.
Quindi lo faremo.
Quindi inizieremo con le rotte degli indici e poi un altro aggiornamento utilizzerà le rotte dei commenti.
E poi un altro dopo che sono i drappeggi dei campeggi e questo ci dice che siamo pronti a usare quei tre
file di percorso che abbiamo richiesto in questo momento, solo il campeggio J in realtà è configurato correttamente.
Quindi finiamo con gli altri commenti J us e cambieremo tutti questi punti punto punto punto CB
del router e poi in fondo eseguiamo il modulo che esporta router e salva ma abbiamo ancora
qualche problema.
Puoi vedere è loggato.
Dobbiamo definire che il campeggio non è definito.
E questo si lamenta anche che il campeggio non è definito.
Quindi dobbiamo assicurarci di aggiungere anche i modelli corretti.
Quindi quassù faremo un altro passo avanti e non iniziare con i bisogni dei campi equi.
E abbiamo bisogno di ottenere il percorso corretto del file.
Quindi adesso siamo nella directory dei percorsi e dobbiamo entrare nel campeggio dei modelli directory.
Sì.
i modelli di punti punteggiati del campo slash e poi importeremo anche i commenti che devono essere commentati sulla barra del modello.
Quindi abbiamo bisogno di fare
Questi sono i due modelli che
vogliamo richiedere qui e salveranno ma abbiamo ancora questo problema di login e per iniziare sto solo andando a copiare il
codice è loggato.
Quindi è in fondo a questo.
Quindi copialo in entrambi i posti, quindi lo terremo nei nostri percorsi indice.
Lo aggiungeremo anche al nostro percorso dei commenti e li mettiamo in fondo per ora e salviamo.
E ora che l'aria scompare e siamo liberi dall'aria, possiamo andare in questo file.
Adesso è indirizzato al nostro indice J. S. dove c'è un po 'di più di cui preoccuparsi
perché stiamo usando un altro codice che sta per sollevare alcuni problemi.
Quindi dobbiamo iniziare con il nostro codice che richiede express e quindi crea
il router Express copiarlo qui.
Impostato e poi cambieremo tutte queste app sul router, i post verranno instradati proprio così
e salvati.
Abbiamo un problema.
Si lamenta che il passaporto non è definito e questo perché non è definito.
Quindi tutto ciò che dobbiamo fare è un passaporto VAR uguale a richiedere il passaporto.
E siamo quasi arrivati ​​ma abbiamo anche un problema in cui l'utente non è definito.
Quindi abbiamo bisogno di definire l'utente in modo che il nostro utente sia uguale a richiedere i modelli di barra punti punto barra utente.
Quindi probabilmente l'hai notato per farci ripartire nei file separati e mantenere la nostra
app semplicemente bella e pulita.
Significa che dobbiamo richiedere le cose un po 'più spesso e questo è l'unico lato negativo.
È un po 'più di codice per richiedere le cose, ma a lungo termine ha molto più senso rompere un
codice in questo modo.
Mantenere le cose organizzate ha un certo ordine e struttura alla nostra app e potrebbe significare una linea in
più o due qui, ma mantiene il suo file Applecross bello e breve.
OK, quindi se proviamo a testarlo in questo momento, abbiamo le nostre tre route che richiediamo
che tutti questi file siano ora impostati dove hanno le dipendenze importanti richieste.
I modelli esprimono un router espresso e quindi esportiamo in fondo a tutti, anche se non lo stiamo
facendo su questo, che dobbiamo fare un indice come il modulo, ma le esportazioni equivale al router Ora se
proviamo ad avviarlo app.
Vediamo se riscontriamo errori.
Sembra buona.
Proviamoci.
Quindi andremo sul percorso root per iniziare quella rotta funziona.
Senti i campeggi.
Abbiamo un problema: non abbiamo definito il campeggio al posto del percorso dei campeggi.
Quindi dobbiamo aprire il campeggio J. S. e basta aggiungere nel nostro campeggio VAR uguali richiedono
modelli di dot dot slash campeggio slash proprio come abbiamo fatto negli altri file.
Assicurati che non ci siano altri errori qui.
Sembra buona.
Riavvia il server e provalo di nuovo.
Ora dobbiamo andare.
Quindi stiamo visualizzando la pagina dello spettacolo.
Torniamo indietro.
Prova e accedi.
Grande.
Password Severus e tutto funziona perfettamente.
Che è grandioso.
In realtà è stato un cambiamento più grande che possiamo fare per asciugare o programmare un po 'e ha a che
fare con questa linea proprio qui ci sono queste tre linee in realtà quello che stiamo facendo dopo aver usato
i percorsi di indice rotte nei campeggi e commentare i percorsi che possiamo fare è abbreviare le dichiarazioni di percorso.
Quindi prendiamo un esempio di percorsi di commento in comune Jay.
Sì.
alla fine di uno di loro o nella pagina della siccità del campeggio se apro la pagina e vedi che iniziano tutti con
i campeggi Slash e possiamo effettivamente ridurre questa duplicazione quando li richiediamo nella nostra app.
Le due rotte che abbiamo tutte iniziano con i campi tagliati ID barra commenti sui campi tagliano i
commenti sulla barra ID e poi abbiamo fatto sapere a Slash
Sì.
Quindi iniziamo con il campeggio.
Posso dire che tutti i percorsi del campeggio dovrebbero iniziare con i campeggi di Slash e prenderemo tutti questi
percorsi G-S del campeggio per trovare questi percorsi qui e aggiungere il campeggio di fronte a loro.
Quindi, se dovessimo apportare questo cambiamento, allora dovremmo andare in un file JS del campeggio e sbarazzarci di tutti
i campeggi di slash.
Quindi l'indice ora per mostrare tutti i campeggi è solo una barra.
Il creare è solo un taglio il nostro nuovo è solo uno slash Nuovo il nostro spettacolo.
Il suo ID appena tagliato e questo è tutto ciò che abbiamo.
Quindi salveremo e quello che faremo di nuovo è che ci vogliono le rotte del campeggio tutte queste rotte sono state
definite in quel file e appende i campeggi davanti a loro.
possiamo solo dire che iniziano tutti con Slash se vogliamo che tutti corrispondano a questo modello
in cui forniamo la stringa prima e testiamo solo l'avvio del refresh del server nella
pagina dei campeggi, che ora funziona anche se il percorso stesso va al campeggio.
Quindi ci aiuta a ripulire il codice e possiamo fare la stessa cosa anche se per le rotte indice non c'è nulla in comune che vogliamo
restare davanti a loro in modo che possiamo lasciarlo com'è o
Sì, la rotta indice è solo una barra.
In realtà è un campeggio slash a causa di questa linea proprio qui.
Quindi commenta le rotte.
È un po 'più complicato perché tutti iniziano con i commenti barra slash del campo ID del colon di Slash e poi
possiamo passare al commento del file di commento J us instrada e cambia tutti questi in modo
che questo sia solo nuovo.
E questo è solo un taglio.
Quindi abbiamo accorciato le rotte molto e abbiamo raggruppato le cose in queste idee in questi argomenti in modo che tutti i
percorsi dei campeggi inizino con i campeggi di Slash e possiamo scrivere dichiarazioni di percorso più brevi.
E questo è particolarmente vero con i commenti in cui non dobbiamo fornire questo prefisso lungo qui, ma
c'è un problema.
Se salviamo, assicurati di salvare il file dei commenti e tornare indietro
e riavviare e aggiornare e andiamo a uno dei percorsi di commento come aggiungere un nuovo commento.
Per prima cosa dovremo effettuare il login, ovviamente.
Quindi accedo a un Severus e provo di nuovo.
E ora provo ad aggiungere un commento.
Abbiamo un problema ed è difficile dire quale sia il problema di questo errore, che è sempre frustrante, ma
dice che non può leggere il nome di una proprietà di NULL e punta a questa linea proprio qui.
Nome del campeggio.
Quindi da quell'errore possiamo ottenere che il campeggio è nullo, il che vuol dire che non sta trovando
il nostro campeggio nel database perché invece di questo percorso di commento quando creiamo un nuovo commento la prima
cosa che fa è trovare un campeggio dall'ID.
E quello che sta succedendo è che il nostro ID non viene effettivamente trovato.
Quindi possiamo dimostrare che facendo un ID del parametro di richiesta del registro di confidenza e non avviando il server.
E questo funzionava bene fino a quando non abbiamo spostato quelle rotte e abbiamo usato
questo router espresso come questo dove abbiamo specificato che tutti i percorsi di commento iniziano con questo dove
abbiamo aggiunto Colan ID ma se proviamo e siamo freschi e guardiamo qui prima questa lunga freccia è indicata che possiamo vedere che non è stato stampato alcun
Quindi non sta trovando l'ID.
Quello che sta succedendo è il nostro io D. o colon I. D. il parametro del percorso non passa attraverso
le nostre rotte di commento.
E c'è una soluzione davvero semplice quando usiamo il router espresso in questo file passiamo in un'opzione anziché
in un oggetto.
Unisci programmi.
Vero.
E questo unirà la Paramo dal campeggio e i commenti insieme in modo che all'interno dei
percorsi dei commenti siamo in grado di accedere a questo ID Kolin che abbiamo definito.
Quindi riavviamo il nodo Aptera Sì.
Se siamo freschi in questo momento abbiamo bisogno di tornare a rinfrescare i campeggi.
Dovrò accedere di nuovo come password di Severus, quindi andiamo
e provare e aggiungere un commento e si può vedere che funziona ora bene.
E stiamo trovando quell'ID e poi stiamo trovando il campeggio corretto.
Quindi non abbiamo un problema.
OK.
Quindi abbiamo refactored con successo i percorsi.
L'ultima cosa su cui potremmo davvero concentrarci è la pulizia di qualche altro codice in modo da poter entrare nel nostro
file di commenti, ad esempio.
E non abbiamo più bisogno di dire percorsi di commento qui.
Ma se volessimo entrare e aggiungere il punto e virgola e anche aggiungere un piccolo messaggio prima di ogni rotta.
Quindi questo è il commento nuovo e quindi questo è il commento creato e salveremo assicurarci che tutto sia formattato bene
e sbarazzarsi di quello.
Abbiamo ancora questo è loggato.
Aggiungerò semplicemente un messaggio qui al middleware che verrà rifattorizzato e spostato nel proprio file che richiederà quindi
il file di commenti e il file di indice japes perché lo abbiamo in entrambe le posizioni.
Assicuriamoci di avere alcuni commenti qui.
Quindi questa è la rotta.
Questo è il nostro percorso di registrazione che gestisce il percorso logico Sign-Up.
Questo è il nostro registro e il percorso del modulo.
Gestisce la logica dei log e dei moduli e fa effettivamente il login.
E questo è il percorso di disconnessione.
E poi abbiamo il nostro middleware qui.
Tutto ok.
E poi, infine, vai al campeggio.
Sì, abbiamo il nostro percorso indice.
Il nostro percorso di creazione e il nostro nuovo percorso e il nostro spettacolo.
Grande.
E in effetti sì, vediamo se c'è qualcos'altro che possiamo davvero ripulire qui.
Andiamo avanti e aggiungere un commento qui.
Abbiamo ragione a richiedere percorsi e altro a buon fine.
Quindi abbiamo cambiato molte cose fino ai file e alle directory, ma la nostra logica è
esattamente la stessa.
In realtà il cambiamento più grande, a parte il trasferimento di cose in file diversi, stava mostrando questo
uso del router Express dove possiamo richiedere i file di percorso e nel nostro caso i nostri file di percorso stanno esportando il router che
stiamo usando e che non deve essere chiamato router ma questo è il nome convenzionale.
Quindi, qualunque cosa abbiamo chiamato qui, basterà fare riferimento a un annuncio che Didcot ottiene e posta su
quell'oggetto e poi inviarlo in fondo e possiamo fornire questo prefisso che verrà aggiunto di fronte a ogni
singola rotta in quel file.
Grande.
davvero le cose solo per mostrarvi quanto abbiamo 46 linee in questa app nella versione precedente.
Quindi puliamo
Se apriamo SJS, abbiamo 177 righe.
Quindi questa è una riduzione piuttosto drastica.