Tamin'ny taona 2021, JavaScript no fiteny fandaharana be mpampiasa indrindra.
Tsy azo lavina ny fiangavian'ity teknolojia ity, araka ny hita amin'ireo rafitra maro be izay mamela ny fandaharana JavaScript.
Misy Angular, React, ary Vue eo amin'ny frontend, ary koa Express sy Next amin'ny backend, raha hilaza vitsivitsy.
Miaraka amin'ny rafitra mahafinaritra be dia be ho an'ny fandaharana backend amin'ny JavaScript azo idirana, mety hieritreritra ianao hoe nahoana aho no hitady zavatra hafa fa tsy mampiasa Express na Next fotsiny.
Angamba mila mitsambikina haingana amin'ny fizotran'ny fampandrosoana miaraka amin'ny boilerplate mendrika ianao, ary tsy manampy amin'ny fanaraha-maso vaovao ihany fa ny serivisy ihany koa dia mahatonga anao ho marary.
Na te-hamorona lozisialy lehibe sy azo scalable izay mora fehezina. Na angamba te hiasa amin'ny fomba mahomby sy mora kokoa ianao.
Na inona na inona marina amin'ny toe-javatra misy anao, Nest.js dia mety ho vahaolana tonga lafatra amin'ny zavatra ilainao.
Ity lahatsoratra ity dia hanome hevitra momba an'i NestJS ary koa traikefa an-tanana.
Inona no atao hoe NestJS?
NestJS dia rafitra Node mandroso izay loharano misokatra, azo itarina ary azo ampifanarahana .Js rafitra ho an'ny fananganana, fandraisan'anjaran'ny rafitra backend. Izy izao no Node miaraka amin'ny tahan'ny fitomboana haingana indrindra.
TypeScript framework ho an'ny js. NestJS dia ampiasaina hamoronana rindranasa azo scalable, azo andrana ary tsy mifandray.
Manampy scalability amin'ny Node. Ny mpizara Js dia nentina tamin'ny ambaratonga vaovao. PostgreSQL, MongoDB, ary MySQL dia anisan'ireo angona tohana.
NestJS dia azo itarina satria azo ampiasaina amin'ny tranomboky hafa; miovaova noho ny tontolo iainany mirindra tanteraka. Ary mandroso satria manohana ny endri-javatra JavaScript sy ny fitsipiky ny famolavolana.
Voataona voalohany indrindra amin'ny Angular, React, ary Vue izy io ary miaraka amin'ny tsindrona fiankinan-doha naorina.
Toetoetra
- Tsotra ny fampiasana sy ianarana ary fehezina.
- Maimaimpoana ary Open-source (licence MIT)
- Maherin'ny Command Line Interface (CLI) ho an'ny fampitomboana ny vokatra sy ny fahatsoran'ny fampandrosoana
- Fandaharana fitsapana unit izay mora ampiasaina
- TypeScript, fiteny mipetaka mafy izay superset amin'ny JavaScript, no ampiasaina.
- Fampandrosoana sy fikojakojana ny codebase mavitrika.
- Fanohanana maody manokana an-jatony izay manamora ny fifandraisana amin'ny teknolojia sy hevitra malaza toa ny TypeORM, Mongoose, GraphQL, logging, validation, caching, WebSockets, sy ny maro hafa.
Inona avy ireo singa manorina ny NestJS?
Voatanisa eto ambany ireo singa manorina ny fampiharana Nest; misy hafa, fa ireo telo ireo no manan-danja indrindra. Andeha hojerentsika haingana izy ireo.
1. Mpandrindra
Ny mpanara-maso dia miandraikitra ny fikarakarana ny fangatahana miditra sy ny famaliana ny mpanjifa. Mahazo fangatahana HTTP manokana izy io, ary ny rafitra zotra no mamaritra hoe iza no mpanara-maso mahazo ny fangatahana.
Avy eo dia mamolavola valiny mety halefa. Miaraka amin'ny fanampian'ny kilasy sy mpanao haingon-trano dia misy mpanangom-bokatra tsotra natsangana ary samy manana ny làlany manokana hanaovana asa isan-karazany ny mpanara-maso tsirairay.
2. Mpanome
Hevi-dehibe ao amin'ny Nest ny mpamatsy. Maro amin'ireo kilasy fototra Nest — tolotra, fitehirizam-bokatra, orinasa, mpanampy, sy ny sisa – azo raisina ho mpamatsy.
Ny hevi-dehiben'ny mpamatsy iray dia ny hoe azo tsindronina ho fiankinan-doha; Midika izany fa afaka manangana fikambanana isan-karazany ny zavatra, ary ny andraikitry ny "fampifandraisana" ireo trangan-javatra dia azo alefa any ivelany indrindra amin'ny rafitra fandehanan'ny Nest.
3. Module
Ny module dia kilasy misy ny @Module() haingo izay mandamina ireo singa amin'ny rafitry ny fampiharana. Ny fampiharana tsirairay dia manana môdely faka ampiasaina hanamboarana ny grafika fampiharana, izay mamaha bebe kokoa ny fiankinan-doha sy ny fifandraisana eo amin'ny mpamatsy sy ny maody.
Ity haingo ity dia manome metadata ho an'ny Nest.js mba hamantarana ireo singa, mpanara-maso, na loharano hafa hampiasaina ao amin'ny kaody fampiharana ary hanambatra azy ireo ho andiany iray.
Ny module tsirairay dia manana fitambarana fahaiza-manao izay mifandray amin'ny fomba sasany.
Manomboka amin'ny NestJS
1. Installation
Andao hametraka NestJS ary hanao tetikasa miaraka aminy amin'ny fanarahana ireto dingana ireto:
Ny firafitry ny lahatahiry manaraka dia ho noforonina vokatr'izany:
2. Mpandrindra
Mpanara-maso ny fananganana ny Nest. Ireo no toerana handraisana ny fangatahana miditra. Azonao atao ny mamaritra ny lalan'ny lalana amin'ny alàlan'ny mpanova fomba HTTP (Get, Post, Put, Delete, sy ny sisa), haingon-trano, araka ny hita ao amin'ny kaody etsy ambany.
Ny Nestjs dia mampiasa ny fomba haingo ary novolavolaina amin'ny Typescript ny ankamaroany, na dia manohana ny JavaScript ihany koa izy. Azonao atao koa ny mampiasa validator kilasy hanamarina ny vatana fangatahana.
Hanamboatra ohatra mpizara Nestjs fotsiny aho ary hanampy ValidationPipe maneran-tany. Ny fantsona dia fomba fotsiny izay tanterahana alohan'ny Controllers. Ny fantsona dia azo ampiharina ihany koa amin'ny ambaratonga fomba / adihevitra amin'ny fampiasana ny haingo @UsePipes.
3. Mpanome
Ny mpamatsy dia singa manan-danja iray hafa amin'ny Nestjs. Hatramin'izao, nitahiry angon-drakitra tao anaty faribolana vonjimaika aho. Izany no mahatonga ny asa tsotra toy izany dia azo tanterahina amin'ny alàlan'ny mpitantana Controller.
Na izany aza, ho an'ny lojika lehibe kokoa, sarotra kokoa, ny fisarahana kaody sy ny fampiasana indray dia mety ho sarotra. Amin'io fotoana io no hidiran'ny mpamatsy. Azonao atao ny manambara/mamorona mpanome tolotra ambony amin'ny kilasy iray amin'ny fampiasana ny haingo @Injectable. Avy eo, amin'ny fampiasana mpamatsy, azonao atao ny manao tsindrona fiankinan-doha, logging ary asa hafa.
4. Module
Tsy manerantany ny maody Nestjs; fa manana ny halaliny.
Na izany aza, azo zaraina amin'ny modules hafa koa izy io. Na dia manolotra Global Modules aza izy io, toa an'i Angular, dia tsara kokoa ny mitazona Services/Controllers ao amin'ny maody izay ampiasaina matetika indrindra ao amin'ny Nestjs.
Ny NestCLI dia ampiasaina amin'ny famokarana maody matetika, ary ny mpanome/mpifehy novokarina ao anatin'io tontolon'ny maody io dia ampiana ho azy avy amin'ny CLI. Ireo dia fantatra amin'ny hoe modules feature.
5. Sivana Exception
Ny sivana Exception dia mpandrindra lesoka izay antsoina rehefa misy Controller manipy exception. Izy io dia mitantana ho azy ny olana ary mandefa hafatra diso mety ho an'ny mpampiasa.
HttpException maro no nandova Exceptions nomen'ny fonosana @nestjs/common, anisan'izany ny NotFoundException, BadRequestException, NotAcceptableException, UnauthorizedException, ary ny maro hafa. Azonao atao mihitsy aza ny mamolavola ny ExceptionFilter anao manokana.
6. Middleware
Ny fiasa iray antsoina alohan'ny mpitantana ny lalana dia antsoina hoe middleware. Ny zavatra fangatahana sy valiny, ary koa ny manaraka () middleware miasa amin'ny fangatahana-valiny tsingerin'ny fampiharana, dia azo idirana amin'ny middleware asa.
Ny variable antsoina hoe manaraka dia matetika ampiasaina hamantarana ny fiasan'ny middleware manaraka. Custom Nest middleware dia azo ampiharina amin'ny fomba na kilasy iray mampiasa ny @Injectable() decorator.
7. Mpiambina
Zavatra iray ihany no andraikitry ny mpiambina. Anjaran'izy ireo ny manombatombana raha hokarakarain'ny mpanara-maso na tsia ny fangatahana iray mifototra amin'ny toe-javatra manokana (Indrindra indrindra, lojika voafaritry ny mpampiasa).
Manampy amin'ny fanamarinana/fanomezana alalana izy io ary fomba atolotra ao amin'ny Nestjs.
Na dia azo atao aza ny fanamarinana/fahazoan-dalana, sns., dia azo atao amin'ny fampiasana middleware, tsy atao amin'ny mpizara HTTP express na hafa izany satria tsy manana contexte matanjaka mifandraika amin'izany izy ireo ary tsy manana antony hahafantarana izay fomba hampiasana ny fangatahana.
tombony
- Ny rafitra dia miantehitra mafy amin'ny fanamarihana, izay ampiasaina hamokarana na inona na inona manomboka amin'ny teboka farany mankany amin'ny antontan-taratasy Swagger. Ny teboka farany dia fototra sy milamina, ary ny fanamarihana dia manamora ny fampandrosoana amin'ny ankapobeny.
- Tsotra ny manetsika ivelany ireo maody tanjona ankapobeny sy mampiasa indray ny kaody amin'ny tetikasa maro satria ny Nest.js dia rafitra mifototra amin'ny maody.
- Ny firafitry ny lahatahiry Nest.js dia misy fiantraikany lehibe amin'ny Angular. Rehefa mamolavola tolotra Nest dia mamela fotoana fitsaharana kely indrindra izany.
- Ny singa dia manana lahatahiry manokana, miaraka amin'ny fakany misy ny maody fampiharana sy ny rakitra fototra. Noho ny fahatsoran'ny rafitra, ny saina bebe kokoa dia azo apetraka amin'ny famolavolana ny teboka farany sy ny mpanjifany fa tsy ny firafitry ny fampiharana.
- Ny Nest, toa an'i Angular, dia manolotra fitaovana andalana tsara, Nestjs/cli, izay azo alaina amin'ny alàlan'ny Node Package Manager.
fatiantoka
- Manana tombony amin'ny fampiasana TypeScript sy ny fampidirana Angular ny Nest, saingy tsy manana fanohanana ara-bola amin'ny orinasa lehibe iray.
- Ny tsy fahampian'ny antontan-taratasy dia miteraka loza lehibe indrindra ho an'ny mpampiasa Nest. Na dia manana fifandraisana tsara amin'ny rafitra hafa aza ny rafitra, dia vitsy ny antontan-taratasy ary tsy mahavaha olana mety hitranga.
- Manana tombony amin'ny fampiasana TypeScript sy Angular ny Nest.
Famaranana
Ny NestJS dia manome sehatra lehibe ho an'ny mpamorona. Mba hanombohana ny fampandrosoana, ny hany ilainao dia mamorona fampiharana vaovao ary afaka mandeha ianao. Ity rafitra ity dia manome tosika lehibe avy hatrany, sady manampy anao amin'ny dingana fanampiny amin'ny alàlan'ny fananganana rafitra fampiharana mety.
Mampiasa fomba sy teknôlôjia manara-penitra izy io mba hamokarana fampiharana izay sady azo fehezina no maharitra. Azo ampiasaina hifandraisana amin'ny GraphQL, WebSockets, ary hanorina microservices.
Leave a Reply