Aan de

verbonden aan een kader, kader,,,,,,,,,, uitwisseling van aandelen, 62,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen, groentje. Nodejs meestal, is het moeilijk te begrijpen dat de ADI.Gelukkig is de ontwikkeling van personeel, veel hebben geschapen kader, maakt het makkelijker om te werken met de knopen.Die is een dergelijk kader.Het is gevestigd in de interface en het comfort en de controle, in een lijn getrokken tussen, en de verbinding van middleware voor een stapel.Voor elk verzoek in verband met de door het filter, middleware, elke kans om een verzoek.Als T.J. Holloway draco heeft verbonden, hij zei dat er twee vormen van middleware.Ten eerste is een filter aan het verzoek, maar ze reageert niet op het (dat de server logs), een ander type is een procedure, die het antwoord op het verzoek.Je kunt veel laag middleware voor je wil door middel van elke laag; verzoekt om een antwoord op een verzoek tot middleware, grammatica,.,,, ten eerste, je moet die tas NPM: installatie van de installatie, het verband met het creëren van een,, server.js, documenten, en de toevoeging van de volgende code:,, de VAR - verbonden? ("verband");,,, in verband met de variabele is een functie is van een nieuw verband van toepassing.Dus, de volgende stap is het creëren van toepassing: het programma = verbinding () var,,,,, je hoeft niet te leiden tot een toepassing van het programma, voor de meeste, je aanvraag variabelen.Bij de oprichting van een toepassing van de functie (,,, het gebruik van de verbinding () (), is de samenhang met):,, de verbinding (). (* * * * * * * * * * * * * * //middleware (/* * * * * * * * * * * * * *). Het gebruik van /middleware), luister (3000);,,, (), verhoogde functionaliteit: een laag van middleware, en vertelde ons, listen (), in verband met de specifieke functie van toepassing te aanvaarden van de haven (3000 in het voorbeeld).,, van de meest eenvoudige dingen beginnen: log.Gebruik alleen een aansluiting van toepassing op middleware is heel eenvoudig:,, de verbinding (code). Het gebruik van (een). De houthakker (). Luister (3000);,,, bij verstek, zoeken de knooppunten van inkomende verzoeken zeer klein.,,, toe te voegen aan de code van je dossier, en start de server rennen, server. 'J'.- je browser elke route, waarbij "kan niet" van de resultaten.We zijn niet geïnteresseerd in de server terug te sturen naar de browser, we zijn geïnteresseerd in de server logs.Kijk naar de terminal, zie je je gevraagde log.Een andere functie van het te controleren en de logbestanden van aangepaste informatie.,, het is een filter, laten we nu eens kijken in de business.De meest eenvoudige procedures voor programma 's voor statisch is, kan het in de map van de aangewezen voor de statische archieven.Dit is de grammatica:,,, (verbonden. Statische (__dirname + "openbare"), en je kan wel raden __dirname -, om de huidige lijst variabelen: dat is de weg.- in dienst van de staat in de huidige lijst, openbare en een map van alles.Dus, het creëren van een openbare //, en nog een, < H1 >, yuan.De hervatting van de server (server, node. Is), navigatie, lokale: 3000 //in je browser.Je moet de browser /,.,, laten we nu naar een andere keuze maken in verband met de middleware,,, het oplossen van het verzoek, bij verstek, gezamenlijke resolutie verzoeken om zeer kleine, maar je kan verschillende filters om de behandeling van verzoeken om, indien nodig, meer complexiteit.Er zijn vier filter:,,, in verband met de hola, hola. () de verzoekende instantie (waarbij de inhoud vormen, application/json,), met urlencoded (). X-ww-form-urlencoded verzoek, analytische,,.,, een tweedelig (). Multipart/, analyse en form-data, de verzoekende instantie, in verband met de bodyparser (.,.), is dat alle drie de kortere weg.,,, het gebruik van deze filter krijg je toegang tot de capaciteit van je lichaam, en bij de analyse van request.body, we praten over hoe, het doel van het verzoek, snel, en ik denk dat deze filter is een goed voorbeeld van Hoe goed je in verband met de controle op levensmiddelen,.Je kan het gebruik van zeer kleine, ter vereenvoudiging van de toepassing en de analyse van je, koekjes en biscuits en gesprek gesprek, is een netwerk van toepassing is, een belangrijk onderdeel van een paar middleware, hulp bij het beheer van hun.In verband met de cookieparser (), analytische. Koekjes voor je, je kunt weer koekjes en hun waarden, door, request.cookies, object.Dit is een nuttig als u toe te voegen, in verband met de zitting (), filteren. Tot je aanvragen.Het filter moet de koekjes - al.Hier is een kleine post,.Use (connect.cookieParser, verbinden () () ().Use connect.session ({-'some geheime comment maxAge: 30000, - {}).Use (function (req, res) {VAR Sess = req.session, URL = req.url.split ("/"); als (url[1] = = = = = = = "naam" & & url[2]) {sess.name = url[2]; res.end ("naam saved:" + url[2]); anders als (sess.name) {} res.write ("session-stored naam:" + sess.name); res.end ("opgeslagen voor andere" + (sess.cookie.maxAge /1000) + "seconden");} anders {res.end ("opgeslagen naam. Ga naar /name/{name} to Save a; de naam");}}).Listen (30);,,, iedere middleware functie moet je schrijven. Geef het een verzoek aan de NEX.T, laag of in antwoord op een verzoek om cookieparser.,,,,,, met inbegrip van de zitting, van ons, filteren en door twee opties:,,,, geheime, het creëren van een handtekening koekje volgen, cookie.maxage gesprek.,,, de definitie van een milliseconde leven deze gedragscode; 30000 is 30 seconden.,,, in de laatste, gebruik (), de telefoon, we door middel van een functie, in antwoord op een verzoek.We gebruiken twee eigenschappen, eisen, het voorwerp, de req.session, zitting van gegevens en voor het verzoek req.url, URL 's. En, indien de aanvrage een verzoek ontvangt, /Naam /some_name, opslag, en dan de waarde van some_name, naam, vereist. Zitting.Opgeslagen in de vergadering alles kan in de volgende zitting, de lengte van de gegevens.Niets vragen, /Naam /andere variabelen, in plaats van de zitting, URL van de zitting en andere waarden van de variabelen en de tijd die voldoet aan alle vereisten.,, dus je kan kijken naar de lokale: 3000 /Naam /your_name, en naar de lokale: 3000, kijk, your_name,.Een paar keer op de pagina, kijken naar het aantal seconden.Aan het einde van de vergadering, zie je de standaard "geen opslag van de naam" nieuws.,, ik zei, cookieparser filter moet, voordat de conferentie, in de volgorde van de,,,, pakket is belangrijk omdat het verzoek om door middel van middleware, laag op laag.,,,,, de zitting moeten zoeken, de gegevens moeten door middel van koekjes, vóór de vergadering, cookieparser,,,,, ik kan het uitleggen van andere ingebouwde onderdelen van middleware, maar ik kan alleen maar zeggen dat sommige van onze eigen code voor de interface.,,, -: - middleware, de certificering van de BasicAuth: http: lijst van programma 's, de gids: flexibele middleware, procedures voor foutenbehandeling,,,, schrijf je gewoon middleware,Geleerd om je eigen code en de verbinding.Hier de grammatica: nogmaals,, (functie (zijn. Het gebruik van res en) {}), de functie van de drie parameters, is belangrijk; zij biedt toegang tot de rest van de wereld.Natuurlijk, de parameters, eisen, het doel van het verzoek, en het antwoord is.De drie parameters, de volgende stap is de banen die in de functie van middleware in de stapel van de sleutel.Dit is een functie, om een overplaatsing naar een middleware in de stapel.Kijk naar dit voorbeeld:,, de verbinding (((zijn). Het gebruik van de functie van res,) (req.method = = = = = = = = = = = = = {als "en") {res.end ("het is een post - verzoek}}} {"); de volgende () andere; functionele (zijn). Het gebruik van (RES) {res.end (dit is niet van een post - verzoek (eventueel een verzoek) ");}), luister (3000); deze code met behulp van middleware, twee functies.De eerste functie van de verzoeken om controle methoden, en kijken of het een na het verzoek.Als dat zo was, zou hij zeggen.Of we bellen de volgende (), en om een overplaatsing naar een functie, op wat dan ook.Het gebruik van, curly, het testen van de terminal, twee lagen: HTTP://krullen, 3000 voor lokale: is dit niet een post verzoeken (kan een verzoek HTTP:/), deel X - /lokale: 3000, dat is een post - verzoek, als het je niet bevalt, terminals, probeer dit nuttige chroom, plug - in. Het is belangrijk om te onthouden, elke middleware schrijf je verzoek moet door de volgende, laag, of het antwoord op dat verzoek.Als je van de functie (door middel van de verklaring of andere voorwaarden), moeten garanderen dat elk door het in het verzoek of op.Als je aanvraag in de browser, dit is waarschijnlijk omdat je vergeten te bellen en volgende (), op een aantal punten, nu. Wat is dat, op verzoek, de parameters?Dit zijn dezelfde verzoeken en antwoorden ontvangen van het object "originele server, op verzoek van: (" http "). Createserver functie (zijn (RES) {///////...(30)}), luister, als je het nog niet, en het gebruik van API - voor de server, laat me je vertellen, wat je kan doen. Het doel van het verzoek,,,,,,, het doel is in feite een, http.incomingmessage, voorwerp, de belangrijkste kenmerken zijn als volgt: req.method:,,,, vertel je het req.url http.,,, zeg je wat URL 's verzoek, req.headers.,, met de titel van de naam en de waarde van de voorwerpen, req.query.,, en de vraag wat de gegevens in een voorwerp (analytische, je zult het nodig hebben, (), in verband met de plek. -,, req.body). De gegevens in de vorm van de voorwerpen, moet je wat agentschappen in het analyseren van middleware), req.cookies koekje.,, zijn gegevens nodig, req.session koekje analytische).,, is een voorwerp(de zitting was, dat je een koekje zoeken en zitting middleware in plaats), je kan het zien, en al deze op het werk met de volgende code,.Use (connect.query, verbinden () ()) ///////req.query geeft ons.Use (connect.bodyParser ()) ///////req.body geeft ons.Use (voor connect.cookieParser ()) ///////de zitting.Use (connect.session ("asdf"} {-)) ///////req.session geeft ons.Use (function (req, res) {res.write ("req.url:" + req.url + "\\ n '); res.write (" req.method: "+ req.method +" \\ n'); res.write ("req.headers:" + JSON.stringify (req.headers) + "\\ n"); res.write ("req.query:" + JSON.stringify (req.query) + "\\ n '); res.write (" req.body: "+ JSON.stringify (req.body) +" \\ n');Res.write ("req.cookies:" + hola. Stringify (zijn. Koekjes) + "\\ n '); res.write (" req.session: "+ hola. Stringify (verzoekt de vergadering); middelen ();}), luister (3000);,, dat sommige van deze waarden van elk van je moet van bepaalde gegevens aan de vraag wat een URL' s.De volgende is genoeg:,, X - D ". Na de naam = naam" HTTP://lokale: 3000 //URL 's?Sommige = gegevens "en de zeven kenmerken, het beheer van een verzoek, kan je, je zal ontvangen.Ik denk niet dat de aanhangwagen worden gebruikt (en ik heb nog nooit in mijn ervaring kan worden gebruikt, maar dat), req.trailers, als je dat op je verzoek (aanhangwagens is het hoofd, maar in het lichaam).,, dus, hoe wil je reageren?Het voorwerp van de reactie tegen, reactie, niet voor (zie tabel). Die luxe.Bijvoorbeeld, je kan niet op een eenvoudige en om ten minste een vorm van bestuur, in plaats van de standaard.In antwoord op de veronderstelling dat zeer weinig, dus je moet met alle kleine details, zullen we de staat code en de reactie van de kop.Kun je deze ooit in gebruik zijn, writehead (). De methode is.Dit is van de documenten - een voorbeeld:,, het werk van lichaam = "hallo", antwoord. Writehead (200 {"duur": body.length "type inhoud": "text /plain"});,, als je moet een aparte titel, je kan gebruiken, setheader ().:,, De verbinding (). Het gebruik van de functie (zijn (RES) {VAR = verzoek aanvaard. Aanvaard. Splitsing (","), lichaam, een type; consoles log (in aanmerking genomen); als (aanvaarden. ("application/json") & GT; 1) {type = "application/json"; het lichaam = hola. Stringify (boodschap: "hallo"} {}); anders als (aanvaarden. ("de firewall") & GT; 1) {type = "firewall"; "het lichaam = < H1 > Hallo!< /H1 > ";) of (type =" text /plain "; het lichaam =" Hallo. "Res.statuscode = 200;}; res.setheader ("type inhoud", type); res.end (fysieke);}), luister (3000);,, zal deze code toegevoegd aan een dossier, start de server en verzoeken van de browser.Je hebt: //europa.eu.int /comm /.Nu loopt: HTTP://, curly, lokale: 3000, je krijgt een sms.Hola, probeer dit eens:,, deel H "aanvaard: application/json" HTTP://lokale: 3000, is van hetzelfde adres.,,, res.getheader (naam), als je het moet weten wat de titel is geregeld.Je kan ook worden gebruikt, res.removeheader (naam), het schrappen van confrontatie.,, natuurlijk, een reactie van het lichaam is nutteloos.Zoals je kunt zien in deze handleiding, schrijf je gegevens, resultaten van de methode van het blok Write ().Het aanvaarden van een string of als buffer tegen de parameters.Als het een string, het tweede argument is dat de code (standaard is, door de,,,,,) (), methode voor het sluiten van het lichaam, maar je kan aan de overdracht van gegevens naar het antwoord.Dit is zeer nuttig voor het geval, je hoeft alleen maar de produktie van één.,,, derde middleware, het met de gemeenschappelijke grote: //europa.eu.int /comm /lichaam verbonden is en moeilijk.Dit is een goede plek om een derde partij middleware mengen.Je kunt het vinden van een op de lijst van derde partijen in verband met de Github middleware wiki.Als voorbeeld van een pakket met jade, we gebruiken, dat ons de mogelijkheid biedt om de standpunten van de jade.,, in de eerste plaats, de installatie, in verband met de installatie van jade, het verband:,, de volgende stap, jade, en als de middleware.Je moet een standaard:,, de VAR - verband = ("verband"), connectjade = ("zelfs jade"); de verbinding (). Het gebruik van (connectjade ({wortel: __dirname + "/", standaard: {Titel: "de myapp"}}) (functie) gebruikt. (door de res.render (RES) {"index" {Titel: "welkom in mijn aanvraag"});}), luister (3000);,, die wortel met het oog de inhoud van het dossier.Je kan ook, de standaard; deze kunnen in elk oog van de variabelen, tenzij we ze later te noemen, (), wanneer deze code, ten slotte, telefoon, de resultaten ().De methode van het pakket, zelfs jade,.,,, de eerste keer is dat de parameters die moeten de naam van het oog,.,, dit is geen mening, weg, weg definitie toegevoegd van middleware, als uitbreiding van de naam San, jade.Deze code, we hebben een advies /index.jade, model maken.We houden het simpel:,, titel: //europa.eu.int /comm /titel = lichaam H1 = titel, als je niet bekend bent met het etiket de naam van de jade, we creëren een streepje: //europa.eu.int /comm /structuur.De waarden van de variabelen nr. Gelijk is aan het zoeken.Schending van deze variabelen, hebben we, samen met de tweede parameter (facultatief) het voorwerp van onderzoek (),,,,, en veel andere derde partijen middleware, maar ze lijken op elkaar.Installeer je ze door hun NPM, eisen en maatregelen te nemen.,,, module als middleware, als je diep bewust van het verband tussen werk, zult u zien dat elke laag is eigenlijk een heel slim ontwerp - module.Als je met de grote van de aanvraag, het zou ideaal zijn, schrijf je code in de module van formaat.Misschien heb je een app.js, documenten, is dit:,, ///////app.js module.exports = functie (zijn, onder res.end (RES) {"dit is afkomstig van een module");};,, en je server. Js,:,, var - verband = nodig hebben ("Bij"), de toepassing van = ("/aanvraag"); de verbinding (). De toepassing van (App), luister (3000);,,, conclusies, en als je wilt dat een beginners vriendelijke bibliotheek kan gemakkelijk een grote web van toepassing is, en die is niet jouw oplossing.Die is een dunne laag van de oorspronkelijke interface, laat je de volledige controle over je de server van toepassing.Als je wil dat ik het voorstel meer, trouwens.Anders, die een geweldige, uitgebreid netwerk, toepassing van bibliotheken.



Previous:
Next Page: