Werrej[Aħbi][Uri]
Meta tagħżel librerija jew qafas tas-softwer, ġeneralment titqies l-esperjenza tal-iżviluppatur.
Meta nsemmi "esperjenza tal-iżviluppatur," qed nirreferi għal kif l-iżviluppaturi fil-fatt jagħmlu x-xogħol. L-iżviluppaturi jagħżlu libreriji jew oqfsa li huma pjaċevoli biex jintużaw.
Din hija waħda mir-raġunijiet primarji għaliex issa għandna l-aktar libreriji u oqfsa popolari. Bħala żviluppaturi, m'għandniex għalfejn nibdew mill-bidu meta jkun hemm għodod eżistenti maħluqa biex jgħinuna fil-kompiti tagħna.
L-oqfsa huma biċċiet ta 'softwer li huma maħluqa u użati mill-iżviluppaturi biex jibnu applikazzjonijiet, u NextJS huwa wieħed minnhom.
F'din il-kariga, se ngħaddu fuq Nextjs, il-karatteristiċi ewlenin tiegħu, u kif nistgħu nużawha biex nibnu applikazzjoni. Ejja jaqbżu dritt ġewwa.
X'inhu Next.js?
Next.js huwa qafas JavaScript biex jinbnew malajr u faċilment paġni web statiċi u applikazzjonijiet onlajn ibbażati fuq React. Jippermettilek tiddisinja apps Web kbar għal varjetà ta 'pjattaformi, inklużi Windows, Linux, u Mac.
Għandek tkun familjari mal-qafas Next.js jekk għandek familjarità minima ma 'react u trid titgħallem aktar dwar l-ekosistema react.
Anke jekk Next.js jiġi ma 'dak kollu li għandek bżonn biex tibda, tista' tagħżel bejn NPM u Ħjut, JavaScript u TypeScript, CSS u SCSS, esportazzjoni statika, u skjerament mingħajr server.
Karatteristiċi
- Ir-rotot isir awtomatikament - M'għandekx bżonn tikkonfigura xejn minħabba li kwalunkwe URL huwa mmappjat mas-sistema tal-fajls, għal fajls fil-folder tal-paġni (għandek għażliet ta 'adattament, ovvjament).
- Komponenti ta' Fajl Uniku – Huwa sempliċi li żżid stili b'ambitu mal-komponent bl-użu ta' styled-jsx, li huwa totalment integrat u prodott mill-istess tim.
- Reloading a Hot Code - Meta Next.js jiskopri modifika ssejvjata fuq disk, jerġa 'jikkarga l-paġna.
- Komponenti dinamiċi - Tista 'tgħabbi b'mod dinamiku moduli JavaScript u React Components.
- Esportazzjonijiet statiċi - Next.js jippermettilek tesporta sit kompletament statiku mill-app tiegħek bil-kmand ta 'esportazzjoni li jmiss.
- Kompatibilità mal-Ambjent - Next.js jintegra bla xkiel mal-ekosistemi JavaScript, Node, u React.
- Qsim tal-Kodiċijiet Awtomatikament - Il-libreriji u l-JavaScript li huma meħtieġa biss jintużaw biex jirrendu l-paġni. Minflok ma toħloq fajl JavaScript wieħed li jkun fih il-kodiċi kollu tal-app, Next.js jaqsam l-app b'mod intelliġenti f'ħafna riżorsi.
Kif toħloq applikazzjoni next.js?
installazzjoni
Tista 'tuża l-kmand node npx biex tinstalla u tibni proġett Next.js.
Dan jiġġenera folder u l-fajls, il-konfigurazzjonijiet u l-oġġetti l-oħra kollha meħtieġa biex imexxu proġett Next.js.
Tista 'tniedi l-app ladarba tkun ġiet iġġenerata.
Paġni u Rotot
Biex nittrattaw ir-rotot b'Next.js, m'għandniex bżonn li nimpjegaw qafas ta 'routing. Ir-rotot b'Next.js huwa faċli biex jitwaqqaf. Meta tuża l-kmand create-next-app biex tibni app Next.js ġdida, l-app toħloq folder imsejjaħ 'paġni' b'mod awtomatiku.
Dan il-folder tal-'paġni' huwa fejn iżżomm ir-rotot tiegħek. Bħala riżultat, kull reazzjoni komponenti fajl fis-subdirectory se jiġu ttrattati bħala rotta separata.
Pereżempju, jekk il-folder fih dawk il-fajls:
- index.js
- dwar.js
- aricles.js
Dan il-fajl se jiġi ttrasformat awtomatikament fi tliet modi:
- Il-paġna tal-indiċi localhost/index
- Il-paġna dwar localhost/about
- Il-paġna tal-blog localhost/artikoli
Eżempju ta' paġna about.js jidher hawn taħt. Xejn huwa pprovdut dwar il-paġna, kif tistgħu taraw. Huwa sempliċiment komponent funzjonali standard React.
rotot
Biex tagħmel rotot nested, l-ewwel trid tistabbilixxi subfolder. Per eżempju: paġni/artikoli. Oħloq il-komponent ta' reazzjoni 'contact.js' tiegħek f'dak il-folder, u se jiġġenera l-paġna localhost/articles/contact.
Jekk tpoġġi fajl wieħed f'pages/articles.js u ieħor f'pages/articles/index.js. It-tnejn jirriflettu l-istess triq localhost/blog. F'din is-sitwazzjoni, Next.js se jirrendi biss il-fajl article.js. Xi ngħidu dwar ir-rotot dinamiċi, li fihom kull post tal-blog għandu l-passaġġ tiegħu:
- localhost/blog/l-ewwel artiklu
- localhost/blog/-tieni-artiklu
Bl-użu tan-notazzjoni tal-parentesi, tista 'tiddefinixxi rotta dinamika f'Next.js. Per eżempju: paġni/artiklu/[slug].js
Link Rotot
Issa lestejt l-ewwel rotta tiegħek. Qed naħseb li qed tistaqsi kif tgħaqqad il-paġni ma' dawk ir-rotot. Ikollok bżonn 'li jmiss/link' biex tagħmel dan.
Hawn eżempju ta' home page li tinkludi link għall-paġna Dwar:
Jekk tixtieq tfassal il-link, uża s-sintassi li ġejja:
Rotot ta' direzzjoni mill-ġdid
X'jiġri jekk ikollok bżonn sfurzat redirect lejn ċerta paġna? Pereżempju, meta tingħafas buttuna? Tista' twettaq dan billi tuża 'router.push':
SEO
Il-paġni fl-applikazzjonijiet tal-web jeħtieġu elementi meta (head) flimkien mad-dejta fil-korp HTML. Dan jeħtieġ l-installazzjoni ta' rekwiżit addizzjonali bl-isem React Helmet f'Applikazzjoni React.
Nistgħu nużaw il-komponent Kap minn jmiss/head f'Li jmiss biex inżidu faċilment metadejta mal-paġni web tagħna li se jintwerew fir-riżultati tat-tfittxija u l-inkorporazzjonijiet:
Komponenti
Int ser ikollok bżonn spiss tiżviluppa komponenti jew fajl ta 'tqassim. Per eżempju, komponent li jirrendi n-navbar. S'issa għadna kemm użajna l-folder tal-paġni. X'jiġri jekk il-komponent tiegħek ma jkunx maħsub li jkun paġna tar-rotta?
Ma tridx li l-utent jinnaviga għal paġna bħal localhost/navbar. Jekk tpoġġi l-komponent Navbar.js fil-folder tal-paġni, dak hu li se jiġri. X'għandek tagħmel fis-sitwazzjoni?
Sempliċement aħżen il-komponenti kollha tiegħek 'mhux paġna' f'folder separat. Ħafna mill-proġetti Next.js jużaw il-moniker 'komponenti,' u dan il-folder huwa ġġenerat fil-folder tal-għeruq tal-proġett tiegħek.
Komponent tar-ras
It-tagħbija inizjali tal-paġna hija mogħtija minn Next.js fuq in-naħa tas-server. Jagħmel dan billi timmodifika l-HTML tal-paġna tiegħek. Is-sezzjoni tal-header hija inkluża.
Il-komponent Next.js Head jintuża biex jagħti tikketti tas-sezzjoni tal-header bħal titolu u meta. Il-komponent Kap huwa użat f'dan l-eżempju ta 'komponent Layout.
Oħloq paġna 404 ma nstabx
Huwa fattibbli li tagħmel il-paġna ta' żball 404 tiegħek. Jista' jkun li tixtieq tippersonalizza l-messaġġ jew iżżid id-disinn tal-paġna tiegħek stess. Fil-folder tal-paġni, oħloq il-fajl 404.js.
Meta jseħħ żball 404, Next.js awtomatikament jerġa' jidderieġi għal din il-paġna. Hawn eżempju ta' paġna 404 personalizzata:
Ġib tad-Data min-naħa tas-server
Minflok tniżżel id-dejta fuq in-naħa tal-klijent, Next.js jippermettilek li twettaq popolazzjoni ta 'dejta inizjali, li timplika li tibgħat il-paġna bid-dejta diġà popolata mis-server.
Għandek żewġ għażliet biex timplimenta l-ġbir tad-dejta min-naħa tas-server:
- Id-dejta għandha tinġabar fuq kull talba.
- Ikseb id-dejta darba biss matul il-proċess tal-kostruzzjoni (sit statiku)
Iġbed data fuq kull talba
Il-metodu getServerSideProps jintuża biex in-naħa tas-server tirrendi kull talba. Din il-funzjoni tista 'tiġi inkluża fl-aħħar tal-fajl tal-komponenti tiegħek. Next.js awtomatikament jimla l-props tal-komponenti tiegħek bl-oġġett getServerSideProps jekk dik il-funzjoni tkun preżenti fil-fajl tal-komponenti tiegħek.
Iġbor id-dejta fil-ħin tal-bini
Il-metodu getStaticProps jintuża biex jirrendi min-naħa tas-server fil-ħin tal-bini. Din il-funzjoni tista 'tiġi inkluża fl-aħħar tal-fajl tal-komponenti tiegħek. Dan il-metodu jmexxi l-kodiċi tas-server u jibgħat talba GET lis-server, iżda darba biss meta l-proġett tagħna jkun lest.
Għaliex għandek titgħallem Next.js?
Waħda mir-raġunijiet għal dan hija minħabba li Next.js huwa mibni fuq React, sett ta’ għodda ta’ żvilupp ta’ quddiem għal ħolqien ta' interfaces għall-utent li huma l-għażla favorita tiegħi għat-tfassil tal-web apps.
Imma ma jkunx biżżejjed jekk Next.js ma kienx tajjeb f'dak li għamel... hux?
Allura, x'tagħmel eżattament?
L-ewwel irridu niddefinixxu ftit kunċetti sabiex nifhmuh. Next.js kiseb popolarità minħabba li solviet problema li ħafna żviluppaturi tal-web kellhom b'apps tal-web fuq in-naħa tal-klijent (fil-browser). Dawn l-Applikazzjonijiet b'Paġna Unika (SPAs) kellhom esperjenza aħjar peress li ma kellhomx bżonn li l-utent jerġa' jgħabbi l-paġna u ppermettew għal aktar interattività.
Madankollu, minħabba li l-biċċa l-kbira tal-materjal f'app bħal din issir viżibbli biss meta titwettaq fil-browser, il-web crawlers diffiċli biex jifhmu l-kontenut tat-test ta' tali app.
Bħala riżultat, minkejja l-popolarità tagħhom, ħafna SPAs baqgħu fil-biċċa l-kbira anonimi għall-magni tat-tiftix kbar bħal Google. Next.js issa jinkludi mekkaniżmu inkorporat aktar robust għall- rendering fuq is-server (SSR) tal-komponenti React.
Next.js jippermetti lill-iżviluppaturi jibnu kodiċi JavaScript fuq is-server matul il-proċess tal-bini u jipprovdu HTML bażiku u indiċjabbli lill-utent.
Prosperità
- Kbira għall-esperjenza tal-utent
- Kbira għal SEO
- Ibni websajt statika super-veloċi li ġġib ruħha bħal dinamika
- Flessibilità fil-bini UI & UX.
- Ħafna vantaġġi ta 'żvilupp
- Appoġġ kbir tal-komunità
cons
- Il-websajts jew l-applikazzjonijiet għandhom ċertu ammont ta' żmien biex jibnu jew jiżviluppaw.
- Għal ċerti kompiti, Next.js huwa inadegwat. L-iżviluppaturi għandhom ikunu kapaċi jibnu rotot dinamiċi bl-użu tal-għodod Node.js.
konklużjoni
Kif tistgħu taraw, Next.js jissimplifika l-iżvilupp tal-app React u jippermettilek tiffoka fuq dak li jgħodd l-aktar - il-loġika tal-app tiegħek u l-UI. Jinkludi dak kollu meħtieġ biex jinħolqu apps kontemporanji, b'ħafna frontend u li jaħdmu bl-API.
Huwa wkoll xieraq għal proġetti ta' kontenut biss, bħal blogs u websajts tan-negozju, minħabba l-kapaċità tiegħu li jibni paġni HTML statiċi.
Bl-edizzjonijiet attwali, Next.js mhux biss iżomm livell għoli ta 'esperjenza tal-iżviluppatur iżda wkoll jagħti għodod biex tiżdied il-prestazzjoni viżiva u l-esperjenza tal-utent, u jiżgura futur sabiħ għal dan il-qafas.
Ħalli Irrispondi