Mulți nu iau deja node.js fără acest modul. Este minunat pentru simplificarea operațiunilor de rutină pentru a crea un server, pentru a lucra cu cereri și pentru orice rutare.
Cel mai simplu cod pentru crearea unui server care trimite "hello" la interogarea de bază:
Toate funcțiile bibliotecii returnează un obiect de aplicație, astfel încât acestea pot fi înlănțuite:
Pentru a răspunde la o cerere POST, pur și simplu folosiți app.post ('/', funcția (req, res) <>); Pentru a răspunde la o solicitare de cale specifică, utilizați
Variabile ale căii
Cererea intră în variabila req. Toate variabilele sunt disponibile ca "req.params.variable_name", de exemplu, în exemplul de mai sus puteți obține valorile req.params.file, req.params.folder. Desigur, trebuie folosit cu înțelepciune - mai întâi a pus într-o coadă de prelucrare este funcția admisibilă (postul de mai sus), care răspunde la „/“, apoi „/index.htm“ și numai apoi „/: fișier“, deoarece toata lista de manipulare dispensa secvențial , iar accesarea cu crawlere este terminată atunci când se ajunge la un handler adecvat.
Setările clientului
Sunt disponibile câteva opțiuni, cum ar fi utilizatorul IP (req.ip), adresa URL a paginii (req.path), protocolul (req.protocol).
Datele de interogare
Când vi se solicită pentru calea ca variabile /index.htm?a=5long_variable_name=7 se încadrează în req.query.a și req.query.long_variable_name respectiv.
Răspunsul serverului
Acesta este domeniul variabilei res. res.send sau res.end trimite răspunsul serverului - codul de răspuns și textul paginii. Orice câmp poate fi omis, să zicem res.send ('hello'); Trimiteți o pagină cu textul salut și cod 200 și res.send (404); va trimite codul de eroare 404. Puteți, de asemenea, să trimiteți obiecte și obiecte, apoi să le trimiteți la linii json.
Transfer de fișiere
Evident, în acest fel puteți trimite și fișiere în formă binară, doar mai întâi trebuie să le descărcați utilizând biblioteca fs. Pentru a informa clientul de tipul de fișier care urmează să fie transmis, este res.type funcția (), de exemplu, res.type ( „html“) pentru codul HTML (implicit), sau res.type ( „png“) pentru PNG-imagini (folosind PNG în proiectele lor!)
De fapt, mult mai ușor de a trimite o echipă de fișier res.attachment ( „cale_fișier“) sau avansat res.sendfile versiune ( „cale_fișier“, [opțiuni], funcția (err) <>). Dar aceasta este pentru fișierele "nemontate" - elementele de layout, js-code sau css-files, imagini.
Încărcarea fișierelor încărcate
Este foarte ușor să transferați un fișier "descărcabil", adică care va face ca fereastra "Descărcare fișier" să apară în fereastra utilizatorului.
Așa că am făcut filehosting cu un număr limitat de descărcări de fișiere
Încărcarea fișierelor
Pentru a oferi utilizatorului posibilitatea de a vă descărca fișiere, procedați în felul următor. Dați-i metoda GET cu pagina de cod
În manualul POST al acestei pagini, veți primi variabila req.files.downloaded_file. Dacă s-au descărcat mai multe fișiere, atunci acesta este un șir de obiecte (cu parametrul de lungime = numărul de fișiere), dacă un fișier a fost descărcat, acesta este un obiect. Fiecare obiect va avea o cale spre el. Apropo, folderul pentru salvarea fișierelor temporare poate fi setat chiar la începutul codului, atunci când creați obiectul app - treceți parametrul corespunzător la metoda bodyParser:
Express.js plug-in-uri
Am ignorat linia app.use (express.bodyParser ()) atunci când inițializăm modulul, lucru care este foarte important. Funcția de utilizare este interfața pentru conectarea modulelor suplimentare la expres.js. bodyParser este un meta-modul care combină module json, urlencoded și multipart. Toate acestea pot fi conectate separat și le pot trimite câțiva parametri. Există mai multe module, cele mai utile fiind loggerul și compresia, care include compresia gzip a paginilor.