Goed terug te komen in deze les gaan we verder werken aan yo camp maar we zijn niet van plan om alle nieuwe functies of functionaliteit toe te voegen.
We gaan gewoon naar bestaande code refactoren.
Dus ik heb het over refactoring de routes en onze app J.S. voor een lange tijd en het is gewoon meer en meer uit de hand gegroeid en we hebben genoeg code hier dat het verdient refactoring en we gaan om zich te concentreren op de routes.
Dus laat me wijzen op de verschillende groepen van de routes die we nu hebben.
We hebben onze authenticatie routes over 40 iets lijnen hier en we hebben een commentaar routes daar.
En dan hebben we ook onze camping druppels die gaan nog eens 40 of zo lijnen hier.
Dus dat zijn de drie belangrijkste groepen van routes die we hebben.
En we gaan ze uit te splitsen in drie verschillende bestanden en vereisen allemaal zo zal hebben een vereisen een pier die eruit ziet als var reactie routes evenaart nodig hebben en we zullen een route's directory slash reacties.
Dus dan zullen we nodig hebben om dat werk te maken.
Het zal nu niet werken en we zullen hetzelfde doen voor de camping en voor onze keel.
En dat is nog maar het eerste deel.
Splitsen dingen in verschillende bestanden en dan ga ik je laten zien op een andere manier kunnen we nog meer opdrogen onze routes en om de dingen een beetje schoner te maken met behulp van de Express-router.
Dus we krijgen om dat, maar ik ga om te beginnen met het maken van directory een route en ik ben aan het werk binnenkant van 7 op dit punt omdat we aanzienlijke veranderingen in de applicatie structuur en de mappen.
Dus het zou behoorlijk verwarrend zijn als ik niet een nieuwe versie heeft gemaakt.
We gaan naar een map met de naam voor de routes te maken en dan zullen we drie verschillende bestanden routes slash campings J US routes slash opmerkingen naar ons toe en routes up routes slash en kunnen we ofwel noemen dit af J.S. of we kunnen noemen index, die is een ander zie je vaak het doel alle routes die niet gerelateerd zijn aan een bepaald model.
En ik ga met die voor nu.
Index Ja.
Dus laten we openen die op en als we dat doen C9 op een directory zal openen alle drie van hen verschijnen.
En dan kunnen we gewoon klikken op degenen die we willen.
Dus hebben we nu deze kleine substructuur dat we de voorkeur.
Laten we beginnen door te werken met campings openen die op en ik ga gewoon allemaal de camping routes vanuit hier te kopiëren.
Dus dat begint hier, en dat gaat naar beneden tot onze reactie routes daar.
En laten we plakken die in het kamp terrein en het is niet alleen gaat om automatisch te werken uit de doos.
We moeten een aantal dingen veranderen.
Maar laten we beginnen door gewoon het splitsen van de bestanden op.
Dus de volgende zal ik samen met de opmerkingen en we hebben slechts 2 opmerking routes of nee.
Dus ik neem allebei van die zet ze in dit bestand.
Tot slot zullen we het openstellen van de index ja en wij doen de andere route toe te voegen, zodat we onze route route.
En dan de authenticatie routes ook omlaag naar hier en ik ga dit te nemen is aangemeld, samen met ons en we zullen refactoring die afzonderlijk, maar dat hoort bij de authenticatie routes, want dat is waar we gebruik van maken.
En het is ook een afhankelijkheid van de reactie routes.
Ja, we gebruiken is ingelogd zijn hier ook.
Dus laten we kopiëren dat alles in.
Dus is aangemeld helemaal tot alle routes, waaronder de route route.
En nu hebben we echt het opruimen van de toegang tot bestanden.
Laten we plakken, die in index ja en op te slaan.
En we krijgen fouten all over the place, omdat onze bestanden niet weet wat app verwijst.
Zoals je kunt zien dat is een van de problemen die worden uitgevoerd in.
Maar we zijn niet echt van plan om een ​​variabele app zoals we zouden in het verleden waar we doen onze app gelijk Express verklaren.
We gaan iets anders doen.
We gaan naar de uitdrukkelijke router te gebruiken en de machine die lijkt te beginnen.
We gaan hier expressieve nodig heeft voor Express is gelijk aan vereisen express en dan gaan we var router te schrijven gelijk express dot router en dan gaan we alle routes op router in plaats van app toe te voegen.
En we gaan dit eerst alleen maar om te laten zien doen en dan zal ik uitleggen waarom dit is zelfs de moeite waard.
Dus zullen we dat doen.
En dan natuurlijk hebben we iets te exporteren vanuit dit bestand en alles wat we nodig hebben om te exporteren is router zo module dat de uitvoer gelijk router.
Dus we hebben deze router variabele gelijk geschapen om dot router uit te drukken in feite een nieuw exemplaar van de Express-router en dan zijn we niet meer het toevoegen van alle de routes naar de router toe te voegen aan de app zelf.
Maar om deze router en dan zijn we terug te keren of het exporteren van de router aan het einde.
En dit is campings dat ja.
En als ik naar mijn aanvraag ja Ik ga om te beginnen door te eisen dat al mijn router bestanden.
Dus ik zal die apart te doen van de andere afhankelijkheden van var commentaar routes en dan zullen we moeten camping routes Eco vereisen dot slash routes slash campings.
En dan hebben we ook Auth. en zal door heel doen gelijken en alle gegroepeerd mooi.
Het zit zo.
OK vereisen dot slash routes slash index en kunnen we deze index Raf's bellen als je wilt.
OK dus dat bewaren we.
We zijn nu importeert of eisen dat die drie bestanden.
Maar dat is niet genoeg voor ons om daadwerkelijk worden met behulp van hen gewoon nog niet.
We hebben de bestanden die nodig zijn en slechts één van hen door de manier waarop is eigenlijk niets exporteren.
De opmerkingen en de index j s zijn nog steeds problematisch.
Maar als we terug gaan naar Apter Ja, we nodig hebben om een ​​app die ik gebruik schrijven.
Dus ik ga gewoon om dit hier beneden te doen en ik zal je laten zien hoe het eruit ziet eerst nadat ik gebruiken.
En dan moeten we het de naam van onze routes die we nodig hadden geven.
Dus commentaar routes camping routes en index routes.
Dus zullen we dat doen.
Dus we beginnen met index routes en vervolgens nog eens gebruik updaten reactie routes.
En dan nog het ene na het kampeerterrein draps en dat vertelt we geneigd om die drie route bestanden die we hebben vereist nu enige camping J eigenlijk ons ​​correct ingesteld te gebruiken.
Dus laten we af met de anderen zegt J ons en wij zullen al die app dot dot CB router veranderen en dan helemaal onderaan we module dat de uitvoer gelijk is aan de router te doen en te besparen, maar we hebben nog steeds een aantal problemen.
U kunt zien wordt ingelogd.
We moeten definiëren die camping is niet gedefinieerd.
En dit is ook klagen dat camping is niet gedefinieerd.
Dus moeten we ervoor zorgen dat we toe te voegen in de juiste modellen ook.
Dus hier zullen we gewoon een ander ver en niet beginnen met camping gelijken vereisen.
En we moeten het juiste pad te krijgen.
Dus nu zijn we in de routes directory en we moeten naar binnen gaan de modellen directory camping.
Ja.
Dus we moeten doen dot dot slash modellen slash camping en dan zullen we ook de opmerkingen die moet model slash reacties te kunnen importeren.
Dat zijn de twee modellen die we hier willen nodig hebben en zal redden, maar we hebben nog steeds dit nummer van is aangemeld en om te beginnen Ik ga gewoon naar de code wordt aangemeld kopiëren.
Dus het is onderaan deze.
Dus exemplaar dat in beide plaatsen dus we zullen het in onze index routes te houden.
We zijn ook van plan om het toe te voegen aan onze opmerkingen route en zet ze aan de onderkant voor nu en op te slaan.
En nu dat de lucht verdwijnt en we zijn voorzien van gratis krijgen we te gaan in dit bestand.
Nu is het aan te pakken onze index J.S. waar er een beetje meer zorgen over te maken, omdat we met behulp van enkele andere code die gaat overgeven enkele problemen.
Dus moeten we om te beginnen met onze code die uitdrukkelijk vereist en maakt vervolgens dat de Express-router gewoon kopiëren het hier.
Stel in en dan zullen we al deze apps op de router te veranderen krijgt geleid tot berichten, net als dat en op te slaan.
We hebben een probleem.
Het is klagen dat het paspoort is niet gedefinieerd en dat is omdat het niet is gedefinieerd.
Dus alles wat we moeten doen is een VAR paspoort gelijk vereisen paspoort.
En we zijn er bijna, maar we hebben ook een probleem waar de gebruiker niet is gedefinieerd.
Dus moeten we de gebruiker te definiëren, zodat onze gebruiker gelijk vereisen dot dot slash modellen slash gebruiker.
Dus u waarschijnlijk al gemerkt dat, om voor ons om dingen te breken in de afzonderlijke bestanden en houden onze app gewoon mooi en schoon.
Het betekent wel dat we nodig hebben dingen een beetje vaker en dat is het enige nadeel.
Het is een beetje meer code om dingen nodig, maar op de lange termijn maakt het een veel meer zin om een ​​code te breken als deze.
Houd alles georganiseerd hebben een aantal orde en structuur van onze app en het zou een extra regel of twee bedoel hier, maar het houdt haar Applecross bestand lekker kort.
OK dus als we proberen en testen dit uit nu hebben we onze drie routes die we nodig al deze bestanden worden nu opgezet waar zij de belangrijkste afhankelijkheden vereist.
De modellen uit te drukken een uitdrukkelijke router en dan zijn we exporteren op de bodem van elk van hen, hoewel we het niet doet op dit ene, die we nodig hebben om een ​​index te doen, zoals module maar de export gelijk router Nu als we proberen en start de app.
Laten we eens kijken of we eventuele fouten te krijgen.
Het ziet er goed uit.
Laten we eens testen het uit.
Dus we gaan naar de root pad om te beginnen met die route werkt.
Voel de campings.
We hebben een probleem hier is dat we niet camping in plaats van de campings route te bepalen.
Dus moeten we open dat tot camping J.S. en toe te voegen aan onze VAR camping gelijken vereisen dot dot slash modellen slash camping net zoals we deden in de andere bestanden.
Zorg ervoor dat er geen andere fouten in hier.
Het ziet er goed uit.
Start de server en probeer het opnieuw uit.
Nu zijn we krijgen om te gaan.
Dus we het bekijken van de show pagina.
Laten we terug gaan.
Probeer en meld u aan.
Grote.
Severus wachtwoord en alles werkt prima.
Wat geweldig is.
Het was eigenlijk een grotere verandering die we kunnen maken op te drogen of code een klein beetje en het heeft te maken met deze lijn hier zijn deze drie lijnen eigenlijk wat we doen nadat u index routes camping routes en commentaar routes wat we kunnen gebruiken doen is verkorten de verklaringen route.
Dus laten we eens een voorbeeld van commentaar routes gemeen Jay.
Ja.
De twee routes die we hebben allemaal beginnen met campings slash ID slash reacties campings slash ID slash commentaren en dan hebben we Slash wisten aan het einde van een van hen of in de pagina van de camping droogte als ik die open te stellen kun je zien dat ze allemaal start met Slash campings en kunnen we eigenlijk te verminderen dat duplicatie als we ze nodig hebben in onze app.
Ja.
Dus laten we beginnen met de camping.
Ik kan zeggen dat alle camping routes moeten beginnen met Slash campings en we zullen al deze camping G-S routes die weve op deze routes vindt u hier en voeg slash camping voor hen te nemen.
Dus als zouden gaan om deze verandering te maken dan moeten we naar een camping JS-bestand en te ontdoen van alle slash campings.
Dus nu de index om alle campings te laten zien is gewoon slash.
Het creëren is gewoon slash onze nieuwe is net slash Nieuw onze showroom.
Het is gewoon slash-ID en dat is alles wat we hebben.
Dus we zullen besparen en wat dat doet is weer het duurt camping routes al deze routes werden gedefinieerd in dat bestand en het voegt slash campings in de voorkant van hen.
Dus het helpt ons het schoonmaken van de code en we kunnen hetzelfde doen, hoewel voor de index routes is er niets met elkaar gemeen dat we willen vasthouden in de voorkant van hen, zodat we kunnen gewoon laten hoe het is of we kunnen alleen maar zeggen dat ze allemaal start met Slash als we willen hen hebben de hele wedstrijd dit patroon, waar wij de string eerste en laten we gewoon testen of beginnen de server up refresh op de kampeerterreinen pagina die nu werken, zelfs al is de route zelf gaan we naar camping.
Ja, de index route is gewoon slash.
Het is eigenlijk slash camping omdat deze lijn hier.
Dus commentaar routes.
Het is een beetje ingewikkelder omdat ze allemaal beginnen met Slash camping slash colon ID slash opmerkingen en dan kunnen we naar de reactie bestand reactie J ons routes en verander al deze, zodat dit slechts slash nieuw.
En dit is gewoon slash.
Zo verkorten we de routes veel en we gegroepeerd dingen in deze ideeën deze onderwerpen, zodat alle de camping routes beginnen met Slash campings en kunnen we een kortere route verklaringen te schrijven.
En dat is vooral het geval met de opmerkingen waar we dit niet te lang voorvoegsel hier leveren, maar er is een probleem.
Als we besparen ervoor zorgen dat we redden het commentaar bestand en terug te gaan en opnieuw op te starten en te vernieuwen en we gaan naar één van de reactie routes graag een nieuwe reactie.
Ten eerste gaan we te hebben om in te loggen natuurlijk.
Dus ik zal inloggen in een Severus en dat nog eens proberen.
En nu ik probeer en voeg geplaatst.
We hebben een probleem en het is moeilijk te zeggen wat het probleem is van deze fout die altijd frustrerend, maar het zegt kan niet lezen een eigenschap naam van NULL en het is te wijzen op deze lijn hier.
Campings naam.
Zo van die fout die we camping kunnen Garner is null, wat betekent dat het niet vinden van onze camping in de database want in plaats van deze reactie route wanneer we een nieuwe reactie is het eerste wat het doet is het vinden van een camping door de ID.
En wat er gebeurt is dat onze ID eigenlijk niet wordt gevonden.
Dus we kunnen bewijzen dat door het doen van een vertrouweling log verzoek parameter-ID en de server niet opnieuw beginnen.
En dat werkte prima totdat we deze routes verhuisd en we gebruikten deze uitdrukkelijke router als deze waar we aangegeven dat alle commentaar routes beginnen met deze waar we toe Colan ID, maar als we het uit te proberen en we zijn fris en we kijken hier eerder deze lange pijl wees erop kunnen we zien niet werd afgedrukt.
Dus het is niet het vinden van de ID.
Wat er gebeurt is dat onze I.D. of colon I.D. route parameter wordt niet waardoor het door naar onze commentaar routes.
En er is een heel eenvoudig vast te stellen wanneer we gebruik maken van de express router in dit bestand passeren we in een optie in plaats van een object.
programma's samen te voegen.
True.
En dat zal dan het samenvoegen van de Paramo van de camping en de opmerkingen bij elkaar, zodat in de reactie routes we in staat om toegang te krijgen tot deze Kolin ID die we gedefinieerd.
Dus laten we doorstart nu knooppunt Aptera Ja.
Als we vers nu moeten we terug te gaan slash campings vernieuwen.
Ik moet terug in te loggen als Severus wachtwoord dan laten gaan en proberen en voeg een reactie en je kunt zien dat het werkt nu prima.
En we vinden dat ID en dan zijn we het vinden van de juiste camping.
Zodat we niet een probleem hebben.
OK.
Dus hebben we met succes herwerkt de routes.
Het laatste wat we konden echt concentreren op is het reinigen van een andere code zodat we konden in onze opmerkingen bestand bijvoorbeeld gaan.
En we hoeven niet te commentaar routes zeggen hier niet meer.
Maar als we wilden gaan en voeg de puntkomma en ook op slechts een klein bericht toe te voegen voor elke route.
Dus dit is het commentaar nieuwe en dan is deze opmerkingen te maken en we zullen redden ervoor zorgen dat alles is mooi opgemaakte en zich te ontdoen van.
We hebben nog steeds dit is aangemeld.
Ik kom net een bericht toe te voegen hier middleware dat we zullen refactoring en verhuizen naar een eigen bestand dat vervolgens zal vereisen in plaats daarvan het bestand opmerkingen en onze index japes file, want we hebben het in beide plaatsen.
Laten we ervoor zorgen dat we hebben een aantal opmerkingen hier.
Dus dit is de route.
Dit is onze register formulier route dit zorgt voor de Sign-Up logische route.
Dit is onze log en de vorm route.
Dit zorgt voor de log en formulieren logica en eigenlijk doet het in te loggen.
En dit is de uitloggen route.
En dan hebben we onze middleware hier.
Okee.
En dan tot slot de naar camping.
Ja, we hebben onze index route.
Onze route creëren en onze nieuwe route en de show.
Grote.
En eigenlijk ja, laten we eens kijken of er iets anders hebben we echt op te ruimen hier.
Laten we gaan door en voeg een reactie hier.
Zijn we gelijk die routes en anders voor goed om te gaan.
Dus werden we veel dingen rond tot aan de bestanden en directories, maar onze logica is precies hetzelfde.
Echt de grootste verandering afgezien van bewegende dingen in verschillende bestanden toonde dit gebruik van de Express-router, waar we route files kan eisen en in ons geval onze route bestanden exporteert de router die we gebruiken en dat niet hoeft te worden genoemd router, maar dat is de conventionele naam.
Dus wat we hier genoemd we hoeven alleen maar een advertentie Didcot krijgt en berichten verwijzen naar dat object en stuur die men op de bodem en kunnen we dit voorvoegsel dat in de voorkant van elke route in dat bestand zal worden toegevoegd te bieden.
Grote.
Dus we echt schoon dingen om te laten zien hoeveel we hebben 46 lijnen in deze app ons in de vorige versie.
Als we het openstellen van SJS hadden we 177 lijnen.
Dus dat is een vrij drastische vermindering.