Ka 2021, JavaScript e ne e le puo ea mananeo e sebelisoang haholo.
Boipiletso ba thekenoloji ena bo ke ke ba latoloa, joalo ka ha bo bonoa ke palo e kholo ea meralo e nolofalletsang ho etsa lenaneo la JavaScript.
Ho na le Angular, React, le Vue ka pele, hammoho le Express le Next ka morao, ho bolela tse 'maloa.
Ka meralo e mengata e metle ea mananeo a morao-rao ho JavaScript a fumanehang, u kanna oa nahana hore na ke hobaneng ke batla ho hong ho fapaneng ho fapana le ho sebelisa Express kapa Next.
Mohlomong u hloka ho qala ts'ebetso ea nts'etsopele ka potlako ka boilerplate e ntle, 'me ka letsoho u sa kenye balaoli ba bacha feela empa le lits'ebeletso li u kulisa.
Kapa u batla ho theha software e kholo, e scalable eo ho leng bonolo ho e laola. Kapa mohlomong u lakatsa feela ho sebetsa ka mokhoa o atlehileng haholoanyane le o bonolo.
Ho sa tsotelehe hore na ke 'nete maemong a hau, Nest.js e ka ba tharollo e phethahetseng bakeng sa litlhoko tsa hau.
Poso ena e tla fana ka leseli la NestJS hammoho le boiphihlelo ba ho sebetsa.
NestJS ke eng?
SehlahaJS ke moralo o tsoelang pele oa Node oo e leng mohloli o bulehileng, o ka atolosoang, 'me o fetoha le maemo .Js moralo oa ho aha, ho hohela le ho phephetsa litsamaiso tsa morao-rao. Hona joale ke Node e nang le sekhahla se potlakileng sa kholo.
Sebopeho sa TypeScript sa js. NestJS e sebelisetsoa ho etsa lits'ebetso tse ka qhekelloang, tse lekoang, le tse hokahaneng ka mokhoa o hlephileng.
E eketsa scalability ho Node. Li-server tsa Js li isitsoe boemong bo bocha. PostgreSQL, MongoDB, le MySQL ke tse ling tsa li-database tse tšehetsoeng.
NestJS e ea atolosoa hobane e ka sebelisoa le lilaebrari tse ling; e tenyetseha ka lebaka la tikoloho ea eona e feto-fetohang ka botlalo. 'Me e tsoela pele kaha e tšehetsa likarolo tsa JavaScript le melao-motheo ea moralo.
E susumetsoa haholo ke Angular, React, le Vue 'me e tla le ente ea ho itšetleha e hahelletsoeng ka hare.
Likaroloana
- Ho bonolo ho e sebelisa, ho ithuta, le ho ipabola.
- Ke mahala le Mohloli o bulehileng (laesense ea MIT)
- Powerful Command Line Interface (CLI) bakeng sa tlhahiso e eketsehileng le bonolo ba nts'etsopele
- Mananeo a tlhahlobo ea yuniti a bonolo ho a sebelisa
- Ho sebelisoa TypeScript, puo e thaetsoeng ka thata e leng setsi sa JavaScript.
- Ntlafatso le tlhokomelo ea khoutu e sebetsang.
- Ts'ehetso ea makholo a li-module tse ikhethileng tsa sehlaha tse etsang hore ho be bonolo ho hokahana le mahlale le mehopolo e tsebahalang joalo ka TypeORM, Mongoose, GraphQL, ho rema lifate, ho netefatsa, ho boloka, li-WebSockets, le tse ling.
Mehaho ea NestJS ke efe?
Likarolo tsa moaho tsa lits'ebetso tsa Nest li thathamisitsoe ka tlase; ho na le tse ling, empa tsena tse tharo ke tsa bohlokoa ka ho fetisisa. A re ke re li sheba ka potlako.
1. Balaoli
Balaoli ke bona ba ikarabellang bakeng sa ho sebetsana le likopo tse kenang le ho araba bareki. E amohela likopo tse khethehileng tsa HTTP, 'me tsamaiso ea litsela e etsa qeto ea hore na ke molaoli ofe ea fumanang kopo efe.
E ntan'o ngola karabo e loketseng ho e romela. Ka thuso ea lihlopha le ba khabisang, ho hahoa 'mokelli ea bonolo' me molaoli e mong le e mong o na le litsela tsa hae tsa ho etsa mesebetsi e sa tšoaneng.
2. Bafani
Bafani ke maikutlo a bohlokoa ho Nest. Bongata ba lihlopha tsa mantlha tsa Nest - lits'ebeletso, polokelo, lifeme, bathusi, joalo-joalo - li ka sebetsoa joalo ka bafani.
Maikutlo a mantlha a mofani oa thepa ke hore a ka entoa joalo ka botšepehi; sena se fana ka maikutlo a hore lintho li ka theha likamano tse fapaneng, 'me karolo ea "ho kopanya" maemo a lintho e ka sebelisoa haholo ho sistimi ea Nest runtime.
3. Mejulu
Mojule ke sehlopha se nang le mokhabiso oa @Module() o hlophisang likarolo tsa sebopeho sa ts'ebeliso. Sesebelisoa se seng le se seng se na le moduli oa motso o sebelisetsoang ho etsa graph ea kopo, e rarollang le ho its'etleha le litšebelisano lipakeng tsa mofani le mojule.
Mokhabiso ona o fana ka metadata ho Nest.js molemong oa ho tseba hore na ke likarolo life, balaoli kapa lisebelisoa tse ling tse tla sebelisoa khoutong ea ts'ebeliso le ho li kopanya hore e be sete e le 'ngoe.
Mojule ka mong o na le pokello ea bokhoni bo hokahaneng ka tsela e itseng.
Ho qala ka NestJS
1. tlhomamiso
Ha re kenye NestJS 'me re etse projeke ka eona ka ho latela mehato ena:
Sebopeho se latelang sa directory se tla etsoa ka lebaka la sena:
2. Balaoli
Mehaho ea Nest ke balaoli. Tsena ke libaka tseo likopo tse kenang ho tsona li tla sebetsoa. U ka hlakisa tsela ea litsela u sebelisa li-modifiers tsa mokhoa oa HTTP (Fumana, Post, Beha, Hlakola, joalo-joalo) bakhabiso, joalokaha ho bonoa khoutu e ka tlase.
Nestjs e sebelisa mokhoa oa ho khabisa 'me hangata e hlahisoa ka Typescript, leha e boetse e tšehetsa JavaScript. U ka sebelisa sebali sa sehlopha ho netefatsa 'mele oa kopo.
Ke tlo etsa mohlala oa seva sa Nestjs ebe ke eketsa ValidationPipe lefatšeng ka bophara. Liphaephe ke mekhoa feela e sebetsang pele ho balaoli. Liphaephe li ka boela tsa sebelisoa boemong ba mokhoa / khang ka ho sebelisa mokhabiso oa @UsePipes.
3. Bafani
Bafani ke karolo e 'ngoe ea bohlokoa ea Nestjs. Ho fihlela mona, ke ne ke boloka data ka mofuta oa nakoana. Ke ka lebaka leo mosebetsi o bonolo joalo o ka finyelloang ho sebelisoa li-controller handlers.
Leha ho le joalo, bakeng sa logic e kholoanyane, e rarahaneng haholoanyane, karohano ea khoutu le tšebeliso e ncha e tla ba thata. Ke nako eo barekisi ba kenang ka eona. U ka tsebahatsa/etsa mofani oa thepa ka holim'a sehlopha ka ho sebelisa mokhabiso oa @Injectable. Ebe, u sebelisa bafani, u ka etsa ente ea ho itšetleha, ho rema lifate le mesebetsi e meng.
4. Mejulu
Li-module tsa Nestjs ha li lefats'e ka bophara; ho e-na le hoo, li na le botebo.
Leha ho le joalo, e ka arolelanoa le li-module tse ling hape. Leha e le joalo, joalo ka Angular, e fana ka Global Modules, ho bohlokoa haholo ho boloka Litšebeletso/Balaoli mojulung oo li sebelisoang haholo ho Nestjs.
NestCLI e sebelisoa ho hlahisa li-modules hangata, 'me bafani / balaoli ba hlahisoang moelelong oa mojule oo ba eketsoa ke CLI ka bo eona. Tsena li tsejoa e le li-module tsa likarolo.
5. Mokhelo Filters
Lisefe tse ikhethileng ke libatli tsa liphoso tse sebelisoang ha Molaoli a etsa mokhelo. E laola bothata ka bo eona, 'me e fana ka molaetsa oa phoso o loketseng mosebedisi.
Mekhelo e mengata e futsitsoeng ea HttpException e fanoa ke sephutheloana @nestjs/common, ho kenyelletsa NotFoundException, BadRequestException, NotAcceptableException, UnauthorizedException, le tse ling tse ngata. U ka ba ua iketsetsa ExceptionFilter ea hau.
6. Lisebelisoa tse bohareng
Tshebetso e kopjwang pele ho setshwari sa tsela e bitswa middleware. Lintho tsa kopo le karabelo, hammoho le tse latelang() ts'ebetso ea middleware molemong oa karabo ea kopo ea kopo, li ka fihlelleha mesebetsing ea mahareng.
Phapang e bitsoang e latelang hangata e sebelisoa ho tsebahatsa tšebetso e latelang ea middleware. Custom Nest middleware e ka kengoa tšebetsong ka mokhoa kapa ka sehlopha ho sebelisoa mokhabiso oa @Injectable().
7. Balebeli
Balebeli ba ikarabella nthong e le 'ngoe feela. Ke boikarabello ba bona ho lekola hore na kopo e tla sebetsoa kapa che ke molaoli ho latela maemo a itseng (Haholo-holo, logic e hlalosoang ke basebelisi).
E thusa ho netefatsa/ho fana ka tumello mme ke mokhoa o khothaletsoang ho Nestjs.
Leha netefatso/litumello, joalo-joalo, li ka etsoa ho sebelisoa middleware, ha e etsoe ka li-server tsa Express kapa tse ling tsa HTTP kaha ha li na moelelo o matla o amanang le tsona mme ha li na lebaka la ho tseba hore na ke mokhoa ofe o tla sebelisoa ho sebetsa kopo.
le menyetla
- Moralo o itšetlehile haholo ka litlhaloso, tse sebelisetsoang ho hlahisa ntho leha e le efe ho tloha qetellong ho ea ho litokomane tsa Swagger. Lintlha tsa ho qetela li bohlokoa ebile li makhethe, 'me litlhaloso li nolofatsa nts'etsopele ka kakaretso.
- Ho bonolo ho hlahisa likarolo tsa merero e akaretsang le ho sebelisa khoutu hape mererong e mengata kaha Nest.js ke moralo o thehiloeng ho mojule.
- Sebopeho sa foldara ea Nest.js se susumetsoa haholo ke Angular. Ha u rala litšebeletso tsa Nest, sena se u lumella ho fokotsa nako.
- Likarolo li na le li-directory tsa tsona, tse nang le motso o nang le module ea kopo le faele e kholo. Ka lebaka la mokhoa o bonolo oa sebopeho, tlhokomelo e eketsehileng e ka behoa ho moralo oa li-endpoints le bareki ba bona ho e-na le sebopeho sa kopo.
- Nest, joalo ka Angular, e fana ka sesebelisoa se setle sa line-taelo, Nestjs/cli, se fumanehang ka Node Package Manager.
go tlhoka mesola
- Nest e na le molemo ho latela tšebeliso ea TypeScript le khokahano ea Angular, empa e haelloa ke tšehetso ea lichelete ea mokhatlo o moholo.
- Ho haella ha litokomane ho baka tšokelo e kholo ho basebelisi ba Nest. Le hoja moralo o na le litšebelisano tse babatsehang le meralo e meng, litokomane li fokola 'me ha li rarolle mathata a ka bang teng.
- Nest e na le molemo ho latela tšebeliso ea TypeScript le Angular.
fihlela qeto e
NestJS e fa batho ba ntlafatsang leoto le leholo. Ho qala nts'etsopele, sohle seo u hlokang ho se etsa ke theha app e ncha mme o loketse ho tsamaya. Moralo ona o fana ka matlafatso e kholo hanghang, ha o ntse o o thusa ho nka mehato e meng ka ho theha moralo o nepahetseng oa lisebelisoa.
E sebelisa mekhoa e tsoetseng pele le theknoloji ho hlahisa lits'ebetso tse laolehang le tse tšoarellang nako e telele. E ka sebelisoa ho hokela ho GraphQL, WebSockets, le ho aha li-microservices.
Leave a Reply