I te tau 2021, ko JavaScript te reo hötaka e whakamahia nuitia ana.
Ko te tono o tenei hangarau kaore e taea te whakakore, e kitea ana e te maha o nga angamahi e taea ai te mahi JavaScript.
He Angular, React, me Vue kei te taha o mua, me te Express me te Panuku kei te tuara, ki te whakahua i etahi.
Na te maha o nga anga mahi whakamiharo mo te hotaka o muri i roto i te JavaScript e waatea ana, kei te whakaaro koe he aha ahau ka rapu ai i tetahi mea rereke, kaua ki te whakamahi noa i te Express, i muri ranei.
Akene me tere koe ki te timata i te tukanga whanaketanga me te pereti pai, me te taapiri a-ringa ehara i nga kaiwhakahaere hou engari ko nga ratonga ka mate koe.
Kei te pirangi ranei koe ki te hanga rorohiko nui, tauineine e ngawari ana ki te whakahaere. Ranei ka hiahia noa koe ki te mahi i runga i te pai ake me te watea.
Ahakoa he aha te pono i roto i to ahuatanga, ka taea e Nest.js te otinga tino pai mo o hiahia.
Ma tenei panui e whakaatu nga tirohanga a NestJS me nga wheako-a-ringa.
He aha te NestJS?
NestJS he anga Node ahu whakamua he puna tuwhera, whakawhanui, me te urutau .Js anga mo te hanga, te whakauru me te whakawero i nga punaha o muri. Inaianei ko te Node me te tere tere o te tipu.
Angamahi TypeScript mo js. Ka whakamahia a NestJS ki te hanga i nga tono ka taea te tauine, ka taea te whakamatautau, me te hono kore.
Ka taapirihia te tauineine ki te Node. Kua kawea nga tūmau Js ki tetahi taumata hou. Ko PostgreSQL, MongoDB, me MySQL kei roto i nga papaa raraunga e tautokohia ana.
Ko te NestJS ka taea te whakawhanui na te mea ka taea te whakamahi me etahi atu whare pukapuka; he ngawari na te mea ko tana punaha rauwiringa kaiao. Ka ahu whakamua mai i te mea e tautoko ana i nga ahuatanga JavaScript me nga kaupapa hoahoa.
Ko te nuinga o te awehia e Angular, React, me Vue ka tae mai me te werohanga whakawhirinaki-i roto.
āhuatanga
- He ngawari ki te whakamahi, ki te ako me te rangatira.
- He kore utu me te tuwhera-puna (Raihana MIT)
- Atanga Raina Whakahau kaha (CLI) mo te piki ake o te hua me te ngawari o te whanaketanga
- Nga kaupapa whakamatautau-waewae e ngawari ana ki te whakamahi
- Ka whakamahia te TypeScript, he reo patopato he huinga nui o JavaScript.
- Te whakawhanake me te tiaki i te turanga waehere kaha.
- Tautoko mo nga rau o nga momo kohanga motuhake e ngawari ana ki te hono ki nga hangarau rongonui me nga whakaaro penei i te TypeORM, Mongoose, GraphQL, te takiuru, te whakamana, te keteroki, WebSockets, me etahi atu.
He aha nga poraka hangahanga o NestJS?
Ko nga waahanga hanga o nga tono Nest kei raro iho nei; tera ano etahi, engari ko enei e toru nga mea tino nui. Kia tere te titiro ki a raatau.
1. Kaitiaki
Ko nga Kaitohutohu kei te whakahaere i nga tono ka tae mai me te whakautu ki nga kaihoko. Ka whakawhiwhia e ia etahi tono HTTP, ka whakatauhia e te punaha ararere ko wai te kaiwhakahaere e whiwhi tono.
Ka tuhia he whakautu tika hei tuku atu. Ma te awhina o nga karaehe me nga whakapaipai, ka hangaia he kaikohi ngawari, a, kei ia kaiwhakahaere tana ake huarahi mo te mahi i nga momo mahi.
2. Kaituku
Ko nga kaiwhakarato he whakaaro nui i roto i te Nest. Ko te nuinga o nga akomanga matua Nest — ratonga, whare pupuri, wheketere, kaiawhina, me era atu — ka taea te whakahaere hei kaiwhakarato.
Ko te whakaaro taketake o te kaiwhakarato ka taea te werohia hei whakawhirinakitanga; Ko te tikanga tenei ka taea e nga taonga te hanga hononga rereke tetahi ki tetahi, a ko te mahi o te "waea" nga tauira o nga mea ka taea te tuku ki waho ki te punaha wa whakahaere Nest.
3. Takahanga
Ko te kōwae he karaehe me te @Module() whakapaipai e whakarite ana i nga waahanga o te hanganga o te tono. Kei ia tono he kōwae pakiaka ka whakamahia ki te hanga i te kauwhata tono, hei whakatau i nga whakawhirinakitanga me nga taunekeneke i waenga i te kaiwhakarato me te waahanga.
Ka hoatu e tenei kaiwhakaahua te metadata ki a Nest.js kia mohio ai ko nga waahanga, nga kaiwhakahaere, etahi atu rauemi ranei ka whakamahia ki te waehere tono ka whakakotahi ki te huinga kotahi.
Kei ia kōwae he kohinga kaha e hono ana i etahi huarahi.
Te tiimata me te NestJS
1. tāutanga
Tāutahia a NestJS ka hanga kaupapa ma te whai i enei mahi:
Ko te hanganga whaiaronga e whai ake nei ka hangaia hei hua o tenei:
2. Kaitiaki
Ko nga poraka hangahanga o te Kohanga he kaiwhakahaere. Koinei nga waahi ka whakahaerea nga tono whakauru. Ka taea e koe te tautuhi i te ara ara ma te whakamahi i nga kaiwhakaahua tikanga HTTP (Tikina, Tukuna, Whakanohoia, Mukua, me etahi atu) nga whakapaipai, penei i te tohu i raro nei.
Kei te whakamahi a Nestjs i te huarahi whakapaipai me te nuinga i whakawhanakehia i roto i te Typescript, ahakoa kei te tautoko hoki i a JavaScript. Ka taea hoki e koe te whakamahi i te kaiwhakamana karaehe hei whakamana i te tinana tono.
Ka mahia e ahau he tauira tūmau Nestjs me te taapiri ValidationPipe puta noa i te ao. Ko nga paipa he tikanga noa e mahia ana i mua i nga Kaiwhakahaere. Ka taea hoki te tono paipa ki te taumata tikanga/tohenga ma te whakamahi i te @UsePipes whakapaipai.
3. Kaituku
Ko nga kaiwhakarato tetahi atu waahanga nui o Nestjs. I tawhiti, kei te penapena raraunga ahau ki tetahi taurangi rangitahi. No reira ka taea te whakatutuki i tetahi mahi ngawari ma te whakamahi i nga Kaihautu Kaiwhakahaere.
Heoi, mo te arorau nui ake, uaua ake, he uaua te wehewehe waehere me te whakamahi ano. Koinei te wa ka uru mai nga kaiwhakarato. Ka taea e koe te whakapuaki/te hanga kaiwhakarato ki runga ake o te karaehe ma te whakamahi i te @Injectable whakapaipai. Na, ma te whakamahi i nga kaiwhakarato, ka taea e koe te mahi i te weranga whakawhirinaki, te takiuru, me etahi atu mahi.
4. Takahanga
Ko nga waahanga Nestjs ehara i te ao; engari, he hohonu.
Heoi ano, ka taea te tiri ki etahi atu waahanga. Ahakoa, penei i te Angular, e tuku ana i nga Waahanga Ao, he pai ake te pupuri i nga Ratonga/Kaiwhakahaere i roto i te waahanga e whakamahia nuitia ana i Nestjs.
Ka whakamahia te NestCLI ki te whakaputa i nga waahanga i te nuinga o te waa, a ko nga kaiwhakarato/kaiwhakahaere i hangaia i roto i te horopaki o taua waahanga ka taapiri aunoatia e te CLI. E mohiotia ana enei ko nga waahanga waahanga.
5. Tātari Okotahi
Ko nga whiriwhiringa okotahi he kaikawe hapa ka karangahia i te wa e whiua ana e tetahi Kaiwhakahaere he okotahi. Ka whakahaere aunoa i te take me te tuku i tetahi karere hapa e tika ana, he hoa-kaiwhakamahi.
He maha nga HttpException tuku iho Okotahi ka whakaratohia e te kete @nestjs/common, tae atu ki te NotFoundException, BadRequestException, NotAcceptableException, UnauthorizedException, me te maha atu. Ka taea e koe te hoahoa i a koe ake ExceptionFilter.
6. Waenganui
Ko te mahi ka karangahia i mua i te kaihautu ara ka kiia ko middleware. Ko nga mea tono me te whakautu, me te mahi middleware e whai ake nei i roto i te huringa tono-whakautu a te tono, ka uru atu ki nga mahi middleware.
Ko te taurangi ka kiia ko muri ka whakamahia hei tautuhi i te mahi middleware e whai ake nei. Ka taea te whakatinana i te Waenga Waenga Kohanga Ritenga i roto i te tikanga, i te karaehe ranei ma te @Injectable() whakapaipai.
7. Kaitiaki
Ko nga kaitiaki anake te kawenga mo tetahi mea. Kei a ratou te kawenga ki te aromatawai mena ka tukuna he tono e te kaiwhakahaere i runga i nga ahuatanga motuhake (Taahua, te arorau tautuhi-kaiwhakamahi).
He pai mo te whakamotuhēhētanga/whakamana, ā, ko te tikanga e taunakitia ana i Nestjs.
Ahakoa ko te motuhēhētanga/whakaaetanga, me ētahi atu, ka taea te mahi ma te whakamahi i te middleware, kaore e mahia i roto i te korero, i etahi atu tūmau HTTP ranei i te mea kaore he horopaki kaha e pa ana, kaore he take e mohio ai ko tehea tikanga ka whakamahia hei tukatuka i te tono.
painga
- Ko te angamahi e tino whirinaki ana ki nga tuhipoka, e whakamahia ana hei whakaputa i tetahi mea mai i nga pito mutunga ki nga tuhinga Swagger. Ko nga pito mutunga he maamaa, he maamaa hoki, a na nga tuhinga korero ka ngawari ake te whanaketanga.
- He ngawari ki te whakaputa i nga waahanga kaupapa whanui me te whakamahi ano i te waehere i roto i nga kaupapa maha na te mea ko Nest.js he anga-a-kowae.
- Ko te hanganga kōpaki a Nest.js ka tino awehia e Angular. I te wa e hoahoa ana i tetahi ratonga Kohanga, ka taea e tenei te iti te wa heke.
- Ko nga waahanga kei a raatau ake raarangi, me te putake kei roto te waahanga tono me te konae matua. Na te ngawari o te hanganga, ka nui ake te aro ki te hoahoa o nga tohu mutunga me o raatau kaihoko kaore i te hanganga o te tono.
- Ko te Kohanga, penei i te Angular, e tuku ana i tetahi taputapu raina whakahau pai, Nestjs/cli, e waatea ana ma te Kaiwhakahaere Node Package.
huakore
- He painga to Nest mo te whakamahi TypeScript me te whakauru Angular, engari karekau he tautoko putea a tetahi kaporeihana nui.
- Ko te kore o nga tuhinga te tino riri ki nga kaiwhakamahi Nest. Ahakoa he pai te mahi tahi o te angamahi me etahi atu anga, he iti noa nga tuhinga, kaore e aro ki nga raru ka taea.
- He painga to Nest mo te whakamahi TypeScript me te Angular.
Opaniraa
Ka whakaratohia e NestJS nga kaiwhakawhanake he waewae nui ki runga. Hei timata i te whakawhanaketanga, ko nga mea katoa me mahi koe hanga he taupānga hou a kei te pai koe ki te haere. Ko tenei anga ka tino whakanui ake i te wa tonu, me te awhina ano i a koe ki te tango i etahi atu waahanga ma te whakarite i tetahi hoahoanga taupānga e tika ana.
Ka whakamahia e ia nga tikanga me nga hangarau hou hei whakaputa i nga tono ka taea te whakahaere me te roa. Ka taea te whakamahi ki te hono ki te GraphQL, WebSockets, me te hanga microservices.
Waiho i te Reply