OK dus het laatste wat ik wil doen is refactoren de middleware.
Dus wat dat betekent in feite op dit moment in een camping route die we hebben checken camping eigendom en we hebben is aangemeld en we dupliceren is ingelogd in meer dan hier, waar we hebben is aangemeld voor commentaar.
En dan weer controleren reactie ownership.
Dus we gaan gewoon refactoren dit alles deze methoden verhuizen naar een nieuw bestand.
Dus ik ben eigenlijk van plan om een ​​map te maken in de hoogste niveau van onze app make directory middleware en dan de binnenkant van zijn aanraking middleware.
En ik ga gewoon alle middleware te combineren in een bestand, zodat we camping middleware zou kunnen hebben en dan kunnen we opmerking middleware hebben, maar het kan maken een bestand, want we hebben niet zo veel.
En ik ga het geïndexeerde noemen.
J.S. en ik zal je laten zien waarom in plaats van noemde het middleware.
Ja, ik doe het bellen index in de middleware directory.
Laten we nu openen dat op.
En dan hier alle middleware gaat hier en dan moeten we ook aan onze module die gelijk is aan iets exporteert.
Dus moeten we een aantal objecten.
En ik heb u laten zien een paar verschillende manieren om dit te doen.
We gaan een variabele genaamd middleware object dat bestaat nog niet te gehoorzamen J. bellen
En zullen de werkwijzen bevatten.
Dus we zullen definiëren dat hier en we zullen gewoon maken het een leeg object te beginnen en dan zullen we voegen in een aantal lijnen die er zo uitzien middleware object stip en dan zullen we moeten check camping eigendom is gelijk aan een functie en vervolgens we zullen moeten middleware objecten dot controleren reactie eigendom is gelijk aan een functie zo goed en ga zo maar door.
Dus we het toevoegen van al deze functies op middleware object en dan zijn we het instellen van modules dat de uitvoer naar middleware object.
De andere manier dat ik dit heb laten zien aan u is net als dit waar in plaats van hier zijn we gewoon toe te voegen in toom camping eigendom als een functie die is ook prima.
Maar ik wil u tonen een andere syntax in plaats van het definiëren van alle functies in een keer wanneer we het object te definiëren.
We kunnen het na het feit en dan de andere manier waarop je het af en toe ziet.
Het is net als dit waar er geen variabele.
Je hoeft alleen maar een object hier.
En dan al uw gegevens gaat daar.
Dus al die zal werken.
We zullen middleware object doen om te vinden dat als een object en dan gaan we aan onze code.
Dus beginnen we middleware dot object check camping eigendom is gelijk aan de reus functie en we zullen doorgaan en kopiëren dat vanaf camping Yes of camping alleen deze hele zaak te kopiëren we het zal uitgeknipt en we zullen moeten een verandering of twee omdat maken we hoeven niet om die naam opnieuw te definiëren, maar we hebben deze argumenten dat ik de zorg van een te veel accolades ook nodig.
Dat is overtroffen deze kleine ooit gaan.
Ziet er goed uit.
We zullen precies hetzelfde doen deze keer.
Check-ups te controleren reacties.
En laten we gaan kopiëren dat hier.
Knip het uit ook.
Betalen in en u wilt functie wordt geantwoord, en naast dit ook.
Hoe dan ook.
Grote.
En dan hebben we onze laatste die is aangemeld.
Dus knip het uit van hier en ik zal het gesneden uit hier en het is identiek.
OK.
Laten we nu gaan naar onze middleware en voeg die in onderaan in het midden, waar object is aangemeld is gelijk aan de functie wordt geantwoord, naast te krijgen.
Dezelfde code.
Verhuisden we het gewoon om dit nieuwe bestand en we hebben toegevoegd alles in middleware object van een object die vervolgens een groot deel van die export aan het einde waren.
Grote.
Nu moeten we dit bestand index vereisen, zoals de binnenkant van de middleware directory.
Dus laten we beginnen met camping en up top zullen we alleen om middleware en om dat te doen moeten we eerst uitzoeken gebaseerd off van waar we zijn, die in plaats van de routes camping.
Ja, hoe krijgen we te indexeren die aan te pakken in plaats van middleware.
Nou moeten we terug uit één map omhoog in de 10 en dan moeten we gaan naar middleware.
Dus moeten we een VAR we noemen het middleware gelijk nodig hebben en het is een dot dot slash.
Dus dat brengt ons in de 10 slash middleware en we konden deze index te doen.
Ja.
Maar de reden dat ik wilde laten zien Ik wil dat we noem het geïndexeerde ons is dat er eigenlijk een speciale naam, dat als we een map, maar geen bestand nodig als ik middleware nodig zal het automatisch de inhoud van de index Dot vereisen.
Ja, dat zou moeten zijn als het huis waar de belangrijkste bestand waar andere dingen nodig zijn.
Dus eigenlijk als we een kijkje in de knoop modules directory waar ben je binnen te halen.
Daar gaan we.
Laten we eens een kijkje nemen op Express.
Je kunt zien dat er een index zoals bestands- en index die Julius is een bestand dat daadwerkelijk nodig is wanneer we de Express-directory nodig en het vereist een heleboel andere bestanden op hun beurt.
En deze bestanden kunnen een heleboel anderen vereisen.
Maar dat is echt belangrijk.
Index zoals een speciale naam, zodat we niet hoeven te doen slash index zoals we gewoon laten zoals dot dot sized middleware.
Nu moeten we middleware gebruiken omdat geen van deze functies gedefinieerd wordt aangemeld check camping ownership.
Die bestaan ​​niet.
Ze zijn allemaal binnenkant van de middleware objecten nu net als dat middleware dot is aangemeld hetzelfde betekenen voor is aangemeld hier en hier en hier.
En ten slotte is er zullen we besparen.
En we moeten hetzelfde doen in onze opmerkingen file.
Daar gaan we.
En we willen gewoon middleware.
Dot is midden in het centrum, waar Dot is aangemeld.
Hetzelfde geldt voor het inchecken gemeenschappelijke eigendom check gemeenschappelijk eigendom.
En nog een check reactie ownership.
Dus wat we hebben gedaan is twee dingen.
Eén die we hebben echt schoongemaakt-up van bestanden van de route een beetje.
Ze hebben niet die extra middleware op de bodem die vrij lang eigenlijk zijn.
Als u een kijkje nemen.
Maar we hebben ook niet langer het schrijven van deze code twee keer wordt aangemeld en alle andere toekomstige middleware we kan nodig zijn dat we gaan om te delen in verschillende bestanden.
We hebben geen dubbele hebben.
Wij hen toe te voegen aan dit bestand.
Okee.
Laten we ervoor zorgen dat het werkt.
Als een laatste test.
Geen problemen hier, wat is goed en alles ziet er goed uit, maar we hebben echt een probleem.
Als ik klikte verwijder dit illustreert het vertelt me ​​camping is niet gedefinieerd binnen van middleware slash index zoals Line 6 middleware object bij het inchecken camping ownership.
Als we een kijkje in onze middleware file check camping eigendom te nemen zegt me camping was niet echt een maand 6 gedefinieerd.
Wat ik moet doen is vereist camping.
Tot nu toe camping gebaseerd off van waar we zijn binnenkant van de middleware directory technisch van de 10 ik moet doen verlangen dot dot slash modellen slash campings en vervolgens dupliceren en hetzelfde doen voor commentaar.
Eisen dat Slash model slash reacties te redden nogmaals herstarten teruggaan refresh opnieuw aanmelden in.
Sirius Zwarts.
Nu als ik probeer en verwijder dit alles werkt prima.
En dang het.
Nu ben ik naar beneden een andere camping.
Oh de dingen die ik doe voor deze klasse.
OK dus gewoon dubbel te controleren en het werkt nog ook.
Daar gaan we.
Dus wat er gebeurt is dat we niet de juiste afhankelijkheden nodig was en we wisten niet dat totdat we eigenlijk geprobeerd om de code uit te voeren zodra nodig camping om commentaar te geven.
Alles is goed om te gaan.
Oké dus alles wat we wilden het echt was er verplaats enkele code uit in een apart bestand en vereisen dat bestand, maar het opgeruimd onze routes een beetje en het is ook leuk, want nu hebben we andere middleware die we nodig hebben om toe te voegen in.
Wij hebben een kleine structuur opzetten van een plek om zich te laten en het is heel gemakkelijk om hen verplichten all over the place.
Geweldig.
Zodat wraps up full crud voor een camping in de reacties.
U kunt nu lezen bijwerken en campings verwijderen en je kunt lezen updaten maken en verwijderen reacties zo goed en die machtigingen er dus er is autorisatie en authenticatie, zodat je niet iets wat je kunt creëren voor niet ingelogd.
Je kunt niet iets bewerken of iets verwijderen als u niet bent ingelogd en als het niet van jou, maar je kunt een opmerking te lezen of u kunt een camping lezen als je ingelogd bent of niet doet er niet toe .
Hetzelfde geldt voor commentaar.
Dus hebben we drie soorten niveaus van machtigingen.
Een daarvan is kunt u elke doen.
Je kunt iets lezen om niet in te zijn ingelogd wordt je iets kunt maken als u ingelogd bent maakt niet uit wie je bent wel.
In theorie kun je bewerken en iets bij te werken, maar het is wel afhankelijk wie je bent.
Next up gaan we toe te voegen in een aantal andere leuke functies en degene die hopelijk is de meest opwindende, of dat ten minste de app meer bruikbaar te maken wordt een zogenaamde Flash-berichten, dus het is een manier om een ​​foutmelding die opduikt dat zien zegt dat dit met succes aangemaakt of u hebt geen toestemming om dat te doen of Meld u aan of wachtwoord onjuist dus het maakt de zaken een stuk meer bruikbaar.
Dus we zullen zien dat binnenkort.