Table of Contents[Ferstopje][Toanje]
By it kiezen fan in softwarebibleteek as ramt wurdt normaal rekken holden mei de ûntwikkeldersûnderfining.
As ik "ûntwikkeldersûnderfining" neame, ferwize ik nei hoe't ûntwikkelders it wurk eins dogge. Untwikkelders kieze bibleteken as kaders dy't noflik binne om te brûken.
Dit is ien fan 'e primêre redenen wêrom't wy no de populêrste bibleteken en kaders hawwe. As ûntwikkelders hoege wy net fanôf it begjin te begjinnen as d'r besteande ark binne makke om ús te helpen mei ús taken.
Frameworks binne stikken software dy't wurde makke en brûkt troch ûntwikkelders om applikaasjes te bouwen, en NextJS is ien fan har.
Yn dit berjocht sille wy Nextjs gean, syn wichtichste funksjes, en hoe't wy it kinne brûke om in applikaasje te bouwen. Litte wy direkt ynspringe.
Wat is Next.js?
Next.js is in JavaSkript-ramt foar fluch en maklik it bouwen fan statyske websiden en React-basearre online applikaasjes. It lit jo geweldige webapps ûntwerpe foar in ferskaat oan platfoarms, ynklusyf Windows, Linux en Mac.
Jo moatte bekend wêze mei it Next.js-ramt as jo minimale bekendheid hawwe mei react en mear wolle leare oer it react-ekosysteem.
Ek al komt Next.js mei alles wat jo nedich hawwe om te begjinnen, kinne jo selektearje tusken NPM en Yarn, JavaScript en TypeScript, CSS en SCSS, statyske eksport, en serverless ynset.
Features
- Routing wurdt automatysk dien - Jo hoege neat te konfigurearjen, om't elke URL yn kaart is brocht oan it bestânsysteem, oan bestannen yn 'e map siden (jo hawwe fansels oanpassingsopsjes).
- Komponinten fan in inkeld bestân - It is ienfâldich om stilen ta te foegjen oan 'e komponint mei styled-jsx, dy't folslein yntegreare en produsearre is troch itselde team.
- In Hot Code opnij laden - As Next.js in wiziging opslein op skiif detektearret, laadt it de side opnij.
- Dynamic Components - Jo kinne JavaScript-modules en React Components dynamysk laden.
- Statyske eksporten - Next.js kinne jo in folslein statyske side fan jo app eksportearje mei it folgjende eksportkommando.
- Kompatibiliteit mei it miljeu - Next.js yntegreart naadloos mei de JavaScript-, Node- en React-ekosystemen.
- Koades automatysk splitse - Allinich de biblioteken en JavaSkript dy't nedich binne wurde brûkt om siden te werjaan. Yn stee fan it meitsjen fan in inkeld JavaScript-bestân dat alle koade fan 'e app befettet, ferdielt Next.js de app yntelligint yn in protte boarnen.
Hoe meitsje ik in next.js-applikaasje?
Ynstallaasje
Jo kinne it kommando node npx brûke om in Next.js-projekt te ynstallearjen en te bouwen.
Dit sil in map generearje en alle bestannen, konfiguraasjes en oare items dy't nedich binne om in Next.js-projekt út te fieren.
Jo kinne de app starte as it is oanmakke.
Siden & Routing
Om rûtes te behanneljen mei Next.js, hoege wy gjin routingkader te brûken. Routing mei Next.js is in wyntsje om yn te stellen. As jo it kommando create-next-app brûke om in nije Next.js-app te bouwen, makket de app standert in map mei de namme 'siden'.
Dizze map 'pagina's' is wêr jo jo rûtes ûnderhâlde. As resultaat sil elk reageare komponintbestân yn 'e submap wurde behannele as in aparte rûte.
Bygelyks, as de map dizze bestannen befettet:
- index.js
- oer.js
- aricles.js
Dizze triem sil automatysk op trije manieren wurde omfoarme:
- De yndeksside localhost/index
- De oer side localhost/oer
- De blogside localhost / artikels
In foarbyld fan in about.js-side wurdt hjirûnder werjûn. Der wurdt neat jûn oer de side, sa't jo sjen kinne. It is gewoan in standert funksjonele komponint fan React.
Routes
Om geneste rûtes te meitsjen, moatte jo earst in submap oanmeitsje. Bygelyks: siden/artikels. Meitsje jo 'contact.js'-reaksjekomponint yn dy map, en it sil de side localhost/articles/contact generearje.
As jo sette ien triem yn pages/articles.js en in oar yn pages/articles/index.js. Beide wjerspegelje itselde paad localhost / blog. Yn dizze situaasje sil Next.js gewoan it article.js-bestân werjaan. Wat oer dynamyske rûtes, wêryn elke blogpost in eigen paad hat:
- localhost/blog/earste-artikel
- localhost/blog/-twadde-artikel
Mei help fan de heakjes notaasje, kinne jo definiearje in dynamyske rûte yn Next.js. Bygelyks: pages/article/[slug].js
Link Rûtes
Jo hawwe no jo earste rûte foltôge. Ik nim oan dat jo freegje hoe't jo siden ferbine mei dy rûtes. Jo moatte 'next/link' om dit te dwaan.
Hjir is in foarbyld fan in thússide dy't in keppeling omfettet nei de side Oer:
As jo de keppeling stylje wolle, brûk dan de folgjende syntaksis:
Omlieding Rûtes
Wat as jo in trochferwizing nei in bepaalde side moatte twinge? Bygelyks, as in knop wurdt yndrukt? Jo kinne dit berikke troch 'router.push' te brûken:
SEO
Siden yn webapplikaasjes fereaskje meta (kop) eleminten neist gegevens binnen it HTML-lichem. Dit sil de ynstallaasje nedich meitsje fan in ekstra eask neamd React Helmet yn in React-applikaasje.
Wy kinne de Head-komponint fan folgjende/kop yn Folgjende brûke om maklik metadata ta te foegjen oan ús websiden dy't sille wurde werjûn yn sykresultaten en ynbêde:
komponinten
Jo moatte faak komponinten as in opmaakbestân ûntwikkelje. Bygelyks, in komponint dat de navigaasje werjaan. Wy hawwe oant no ta gewoan de side-map brûkt. Wat as jo komponint net bedoeld is om in rûteside te wêzen?
Jo wolle net dat de brûker nei in side navigearret lykas in localhost/navbar. As jo de komponint Navbar.js yn 'e map siden pleatse, dan sil dat barre. Wat moatte jo dwaan yn 'e situaasje?
Bewarje gewoan al jo 'gjin side'-komponinten yn in aparte map. De measte Next.js-projekten brûke de bynamme 'komponinten', en dizze map wurdt oanmakke yn 'e root-map fan jo projekt.
Head komponint
De earste sidelading wurdt werjûn troch Next.js op 'e serverside. It docht dit troch it feroarjen fan de HTML fan jo side. De koptekst is opnommen.
De Next.js Head-komponint wurdt brûkt om tags foar kopteksten te jaan lykas titel en meta. De haadkomponint wurdt brûkt yn dit foarbyld fan in Layout-komponint.
Meitsje 404 side net fûn
It is mooglik om jo eigen 404-flaterside te meitsjen. Jo kinne it berjocht oanpasse wolle of jo eigen side-ûntwerp tafoegje. Meitsje yn 'e map siden it 404.js-bestân oan.
As in 404 flater optreedt, sil Next.js automatysk trochferwize nei dizze side. Hjir is in foarbyld fan in personaliseare 404-side:
Gegevens ophelje fan serverside
Yn stee fan it ynladen fan gegevens op 'e client-side, Next.js kinne jo útfiere in earste gegevens populaasje, wat betsjut it ferstjoeren fan de side mei de gegevens al befolke fan de tsjinner.
Jo hawwe twa karren foar it ymplementearjen fan gegevens op serverside:
- Gegevens moatte op elk fersyk ophelle wurde.
- Krij gegevens mar ien kear yn it hiele bouproses (statyske side)
Fetch gegevens op elk fersyk
De getServerSideProps-metoade wurdt brûkt om elk fersyk oan 'e tsjinner te werjaan. Dizze funksje kin opnommen wurde oan 'e ein fan jo komponintbestân. Next.js sil automatysk jo komponint props ynfolje mei it getServerSideProps-objekt as dy funksje oanwêzich is yn jo komponinttriem.
Gegevens ophelje op bouwtiid
De getStaticProps-metoade wurdt brûkt om tsjinner-side te werjaan by buildtiid. Dizze funksje kin opnommen wurde oan 'e ein fan jo komponintbestân. Dizze metoade rint de serverkoade en stjoert in GET-fersyk nei de server, mar mar ien kear as ús projekt klear is.
Wêrom moatte jo Next.js leare?
Ien fan 'e redenen hjirfoar is om't Next.js is boud boppe op React, in front-end ûntwikkeling toolkit foar it meitsjen fan brûkersynterfaces dat binne myn favorite kar foar it ûntwerpen fan webapps.
Mar it soe net genôch wêze as Next.js net goed wie yn wat it die ... krekt?
Dus, wat docht it krekt?
Wy moatte earst in pear begripen definiearje om it te begripen. Next.js wûn populariteit om't it in probleem oplost dat in protte webûntwikkelders hiene mei webapps oan 'e kant fan' e kliïnt (yn 'e browser). Dizze Single-Page Applications (SPA's) hiene in bettere ûnderfining, om't se de brûker net nedich hiene om de side opnij te laden en tastien mear ynteraktiviteit.
Om't it grutste part fan it materiaal yn in app lykas dizze allinich sichtber wurdt as it yn 'e browser útfierd wurdt, hawwe webcrawlers it dreech om de tekstynhâld fan sa'n app te begripen.
As gefolch, nettsjinsteande har populariteit, bleaunen in protte SPA's foar in grut part anonym foar grutte sykmasines lykas Google. Next.js omfettet no in robúster ynboude meganisme foar rendering fan serverside (SSR) fan React-komponinten.
Next.js lit ûntwikkelders JavaScript-koade op 'e tsjinner konstruearje tidens it bouproses en biede basis, yndeksbere HTML oan' e brûker.
pros
- Geweldich foar brûkersûnderfining
- Geweldich foar SEO
- Bou in supersnelle statyske webside dy't him gedraacht as in dynamyk
- Fleksibiliteit by it bouwen fan UI & UX.
- In protte ûntwikkeling foardielen
- Grutte mienskipsstipe
Cons
- Websites of applikaasjes hawwe in bepaalde tiid om te bouwen of te ûntwikkeljen.
- Foar bepaalde taken is Next.js net genôch. Untwikkelders moatte dynamyske rûtes kinne konstruearje mei Node.js-ark.
Konklúzje
Sa't jo sjen kinne, ferienfâldiget Next.js React-appûntwikkeling en lit jo fokusje op wat it wichtichste is - jo applogika en UI. It omfettet alles dat nedich is om hjoeddeistige, frontend-rike en API-oandreaune apps te meitsjen.
It is ek geskikt foar projekten mei allinich ynhâld, lykas blogs en saaklike websiden, fanwegen syn fermogen om statyske HTML-siden te bouwen.
Mei de hjoeddeistige edysjes ûnderhâldt Next.js net allinich in heech nivo fan ûntwikkeldersûnderfining, mar jout ek ark foar it fergrutsjen fan fisuele prestaasjes en brûkersûnderfining, en soarget foar in ljochte takomst foar dit ramt.
Leave a Reply