Tento dokument m├┤┼że by┼ą v porovnan├ş s dokument├íciou v angli─Źtine zastaral├Ż. Aktu├ílne inform├ície n├íjdete v dokument├ícii v angli─Źtine.

Ôťľ

Prechod na Express 5

Overview

Hoci je Express 5.0 e┼íte len v alpha release verzii, tu je n├íh─żad zmien, ktor├ę bud├║ v tomto release a n├ívod ako zmigrova┼ą va┼íu aplik├íciu z verzie Express 4 na Express 5.

Express 5 sa od Express 4 ve─żmi nel├ş┼íi: Zmeny v API nie s├║ tak ve─żk├ę, ako v p┼Ľipade prechodu z verzie 3.0 na 4.0. Hoci z├íkladn├ę API zost├íva rovnak├ę, s├║ tam niektor├ę podstatn├ę zmeny; in├Żmi slovami, existuj├║ca Express 4 aplik├ícia nemus├ş po upgrade na Express 5 fungova┼ą.

Pre nain┼ítalovanie poslednej alpha verzie Express 5, spustite v hlavnom prie─Źinku va┼íej aplik├ície nasleduj├║ci pr├şkaz:


$ npm install express@5.0.0-alpha.2 --save

Potom m├┤┼żete spusti┼ą va┼íe automatizovan├ę testy, aby ste videli ─Źo pad├í a opravili tieto probl├ęmy pod─ża inform├íci├ş ni┼ż┼íie. Potom, ako identifikujete padaj├║ce testy, spustite aplik├íciu, aby ste videli ak├ę errory nast├ívaj├║. Okam┼żite zist├şte, ─Źi aplik├ícia pou┼ż├şva niektor├║ z met├│d, alebo properties, ktor├ę nie s├║ podporovan├ę.

Zmeny v Express 5

Tu je zoznam zmien (t├Żkaj├║cich sa verzie alpha 2 release), ktor├ę v├ís, ako pou┼ż├şvate─ża Express aplik├ície, m├┤┼żu ovplyvni┼ą. Pozrite sa na zoznam pull request-ov v┼íetk├Żch pl├ínovan├Żch zmien.

Odstr├ínen├ę met├│dy a properties

Zmenen├ę

Vylepšenia

Odstr├ínen├ę met├│dy a properties

Ak pou┼ż├şvate niektor├║ z nasleduj├║cich met├│d, alebo properties vo va┼íej aplik├ícii, aplik├ícia bude pada┼ą. Preto budete musie┼ą vykona┼ą zmeny vo va┼íej aplik├ícii, aby fungovala aj po update na veziu 5.

app.del()

Express 5 u┼ż viac nepodporuje app.del() funkciu. V pr├şpade pou┼żitia tejto met├│dy nastane error. Namiesto nej pou┼żite pre zaregistrovanie HTTP DELETE route-ov funkciu app.delete().

P├┤vodne bola funkcia del pou┼ż├şvan├í namiesto delete, preto┼że delete je v JavaScript-e rezervovan├ę k─ż├║─Źov├ę slovo. Av┼íak od ECMAScript 6, delete a ─Ćal┼íie rezervovan├ę kl├║─Źov├ę slov├í m├┤┼żu by┼ą bezpe─Źne pou┼żit├ę ako n├ízov property.

app.param(fn)

Z├ípis app.param(fn) bol pou┼ż├şvan├Ż pre modifikovanie spr├ívania app.param(name, fn) funkcie. Tento z├ípis bol ozna─Źen├Ż ako deprecated u┼ż od v4.11.0 a Express 5 ho u┼ż nepodporuje v├┤bec.

Pluralizovan├ę n├ízvy met├│d

Nasleduj├║ce n├ízvy met├│d boli pluralizovan├ę. Pou┼ż├şvanie p├┤vodn├Żch n├ízvov v Express 4 viedlo k deprecation warning-om. Express 5 ich u┼ż nepodporuje v├┤bec:

req.acceptsCharset() bola nahradená za req.acceptsCharsets().

req.acceptsEncoding() bola nahradená za req.acceptsEncodings().

req.acceptsLanguage() bola nahradená za req.acceptsLanguages().

Dvojbodka (:) na za─Źiatku v name argumente volania app.param(name, fn)

Dvojbodka (:) na za─Źiatku v name argumente volania app.param(name, fn) funkcie je pozostatkom z Express 3 a v z├íujme sp├Ątnej kompatibility ju Express 4 podporoval s deprecation warning-om. Express 5 ju bude ticho ignorova┼ą a pou┼ż├şva name parameter bez prefixu po─Źiato─Źnej dvojbodky.

T├íto zmena by nemala ovplyvni┼ą v├í┼í k├│d v pr├şpade, ak postupujete pod─ża dokument├ície k Express 4 app.param, kde sa ┼żiadna po─Źiato─Źn├í dvojbodka u┼ż nespom├şna.

req.param(name)

T├íto potenci├ílne m├Ąt├║ca a nebezpe─Źn├í met├│da z├şskania d├ít z formul├íra bola odstr├ínen├í. Odteraz budete musie┼ą pozrie┼ą na konkr├ętny n├ízov parametra v req.params, req.body, alebo req.query objektu.

res.json(obj, status)

Express 5 u┼ż viac nepodporuje z├ípis res.json(obj, status). Namiesto toho nastavte status a zre┼ąazte ho s res.json() volan├şm, takto res.status(status).json(obj).

res.jsonp(obj, status)

Express 5 u┼ż viac nepodporuje z├ípis res.jsonp(obj, status). Namiesto toho nastavte status a zre┼ąazte ho s res.jsonp() volan├şm, takto: res.status(status).jsonp(obj).

res.send(body, status)

Express 5 u┼ż viac nepodporuje z├ípis res.send(obj, status). Namiesto toho nastavte status a zre┼ąazte ho s res.send() volan├şm, takto: res.status(status).send(obj).

res.send(status)

Express 5 u┼ż viac nepodporuje z├ípis res.send(status), kde status je ─Ź├şslo. Namiesto toho pou┼żite funkciu res.sendStatus(statusCode), ktor├í nastavuje status k├│d HTTP response hlavi─Źky a odo┼íle jej textov├║ verziu spolu s: ÔÇťNot FoundÔÇŁ, ÔÇťInternal Server ErrorÔÇŁ, a podobne. Ak potrebujete posla┼ą pomocou funkcie res.send() ─Ź├şslo, uve─Ćte ho v ├║vodzovk├ích, aby ste ho pretypovali na string, tak┼że to Express nevyhodnot├ş ako pokus o nepodporovan├Ż z├ípis.

res.sendfile()

Funkcia res.sendfile() bola v Express 5 nahradená camel-cased verziou res.sendFile().

Zmenen├ę

app.router

Objekt app.router, ktor├Ż bol v Express 4 odstr├ínen├Ż, bol v Express 5 vr├íten├Ż sp├Ą┼ą. V novej verzii je tento objekt len referenciou na z├íkladn├Ż Express router, k├Żm v Express 3 ho bolo nutn├ę explicitne na─Ź├şta┼ą.

req.host

Funkcia req.host v Express 4 nekorektne odstra┼łovala ─Ź├şslo portu, ak bol definovan├Ż. V Express 5 je ─Ź├şslo portu ponechan├ę.

req.query

V Express 4.7 a od Express 5, query parser parameter akceptuje hodnotu false pre zak├ízanie parsovania query stringu v pr├şpade, ak chcete pou┼żi┼ą vlastn├║ funkciu na parsovanie.

Improvements

res.render()

T├íto met├│da si odteraz vynucuje asynchr├│nne spr├ívanie v┼íetk├Żch view engine-ov, ─Ź├şm predch├ídza chyb├ím sp├┤soben├Żmi view engine-ami, ktor├Żch implement├ícia je synchr├│nna a poru┼íuje doporu─Źen├Ż interface.