Table of Contents[Hide][Show]
Thaum xaiv ib lub tsev qiv ntawv software lossis lub moj khaum, tus tsim tawm kev paub feem ntau yog coj los rau hauv tus account.
Thaum kuv hais txog "kev paub dhau los ntawm tus tsim tawm," Kuv tab tom hais txog yuav ua li cas cov neeg tsim khoom ua haujlwm tiag tiag. Cov neeg tsim tawm xaiv cov tsev qiv ntawv lossis cov txheej txheem uas muaj kev lom zem siv.
Qhov no yog ib qho ntawm cov laj thawj tseem ceeb vim li cas peb tam sim no muaj cov tsev qiv ntawv nrov tshaj plaws thiab cov txheej txheem. Raws li cov neeg tsim khoom, peb tsis tas yuav pib los ntawm kos thaum muaj cov cuab yeej uas twb muaj lawm tsim los pab peb ua haujlwm.
Lub moj khaum yog cov software uas tsim thiab siv los ntawm cov neeg tsim khoom los tsim cov ntawv thov, thiab NextJS yog ib qho ntawm lawv.
Hauv tsab xov xwm no, peb yuav mus dhau Nextjs, nws cov yam ntxwv tseem ceeb, thiab peb tuaj yeem siv nws li cas los tsim ib daim ntawv thov. Wb dhia txoj cai hauv.
Next.js yog dab tsi?
Tom ntej no.js yog JavaScript lub moj khaum rau sai thiab yooj yim tsim cov nplooj ntawv zoo li qub thiab React-based online applications. Nws tso cai rau koj los tsim lub vev xaib zoo rau ntau lub platform, suav nrog Windows, Linux, thiab Mac.
Koj yuav tsum paub txog Next.js lub moj khaum yog tias koj muaj kev paub tsawg tshaj plaws ntawm kev hnov mob thiab xav paub ntau ntxiv txog cov tshuaj tiv thaiv ecosystem.
Txawm hais tias Next.js los nrog txhua yam koj xav tau pib, koj tuaj yeem xaiv ntawm NPM thiab Yarn, JavaScript thiab TypeScript, CSS thiab SCSS, static export, thiab serverless xa tawm.
nta
- Routing yog ua tiav lawm - Koj tsis tas yuav teeb tsa ib yam dab tsi vim tias ib qho URL yog mapped rau hauv cov ntaub ntawv, rau cov ntaub ntawv hauv nplooj ntawv nplaub tshev (koj muaj kev xaiv xaiv, tau kawg).
- Cov Cheebtsam ntawm Cov Ntaub Ntawv Ib Leeg - Nws yog ib qho yooj yim ntxiv cov qauv scoped rau cov khoom siv styled-jsx, uas yog tag nrho kev koom ua ke thiab tsim los ntawm tib pab pawg.
- Reloading a Hot Code - Thaum Next.js pom qhov kev hloov kho uas tau khaws tseg rau hauv disk, nws rov pib dua nplooj ntawv.
- Dynamic Cheebtsam - Koj tuaj yeem dynamically load JavaScript modules thiab React Components.
- Kev xa tawm zoo li qub - Next.js tso cai rau koj xa tawm qhov chaw zoo li qub los ntawm koj lub app nrog cov lus txib xa tawm tom ntej.
- Kev sib raug zoo nrog ib puag ncig - Next.js integrates seamlessly nrog JavaScript, Node, thiab React ecosystems.
- Splitting Codes Yeej - Tsuas yog cov tsev qiv ntawv thiab JavaScript uas yuav tsum tau siv los ua nplooj ntawv. Hloov chaw ntawm kev tsim ib cov ntaub ntawv JavaScript uas muaj tag nrho cov app tus lej, Next.js ntse faib cov app mus rau ntau qhov chaw.
Yuav ua li cas los tsim ib daim ntawv thov next.js?
installation
Koj tuaj yeem siv qhov node npx hais kom ua rau nruab thiab tsim qhov Next.js project.
Qhov no yuav tsim ib lub nplaub tshev thiab tag nrho cov ntaub ntawv, teeb tsa, thiab lwm yam khoom yuav tsum tau ua haujlwm rau Next.js project.
Koj tuaj yeem tso lub app thaum nws tau tsim.
Nplooj & Routing
Txhawm rau tswj hwm txoj hauv kev nrog Next.js, peb tsis tas yuav ntiav cov txheej txheem routing. Routing nrog Next.js yog ib qho yooj yim los teeb. Thaum koj siv cov lus txib tsim-tom ntej-app los tsim ib qho tshiab Next.js app, lub app tsim cov ntawv tais ceev tseg hu ua 'nplooj' los ntawm lub neej ntawd.
Qhov no 'nplooj' folder yog qhov chaw koj tswj koj txoj kev. Yog li ntawd, txhua reacts Cheebtsam cov ntaub ntawv nyob rau hauv lub subdirectory yuav raug tswj raws li ib tug cais txoj kev.
Piv txwv li, yog tias lub folders muaj cov ntaub ntawv no:
- index.js
- txog.js
- aricles.js
Cov ntaub ntawv no yuav raug hloov pauv hauv peb txoj kev:
- Nplooj ntawv index localhost/index
- Nplooj ntawv localhost/about
- Nplooj ntawv blog localhost/articles
Ib qho piv txwv ntawm nplooj ntawv about.js tau qhia hauv qab no. Tsis muaj dab tsi muab rau nplooj ntawv, raws li koj tuaj yeem pom. Nws tsuas yog tus qauv React functional tivthaiv.
Routes
Txhawm rau ua cov kev nested, koj yuav tsum xub tsim ib lub subfolder. Piv txwv li: nplooj ntawv / kab lus. Tsim koj 'contact.js' react tivthaiv nyob rau hauv lub nplaub tshev, thiab nws yuav tsim cov nplooj ntawv localhost/articles/contact.
Yog tias koj muab ib daim ntawv tso rau hauv nplooj ntawv/articles.js thiab lwm yam hauv nplooj ntawv/articles/index.js. Ob leeg cuam tshuam tib txoj hauv kev localhost/blog. Hauv qhov xwm txheej no, Next.js yuav cia li muab cov ntaub ntawv article.js. Yuav ua li cas hais txog dynamic txoj kev, nyob rau hauv uas txhua blog ncej muaj nws tus kheej txoj kev:
- localhost/blog/first-article
- localhost/blog/-second-article
Siv cov cim cim, koj tuaj yeem txhais txoj hauv kev dynamic hauv Next.js. Piv txwv li: pages/article/[slug].js
Txuas Txoj Kev
Tam sim no koj tau ua tiav koj thawj txoj kev. Kuv tabtom twv koj tab tom nug yuav ua li cas txuas nplooj ntawv mus rau txoj kev ntawd. Koj yuav xav tau 'tom ntej / txuas' ua li ntawd.
Nov yog ib qho piv txwv ntawm nplooj ntawv home uas suav nrog qhov txuas mus rau nplooj ntawv Hais txog:
Yog tias koj xav kom style qhov txuas, siv cov syntax hauv qab no:
Redirect Routes
Yuav ua li cas yog tias koj xav yuam kom redirect rau ib nplooj ntawv? Piv txwv li, thaum nias lub pob? Koj tuaj yeem ua tiav qhov no los ntawm kev siv 'router.push':
SEO
Cov nplooj ntawv hauv web applications xav tau cov ntsiab lus meta (lub taub hau) ntxiv rau cov ntaub ntawv hauv HTML lub cev. Qhov no yuav tsim nyog rau kev teeb tsa ntawm qhov yuav tsum tau muaj npe hu ua React Helmet hauv React Application.
Peb tuaj yeem siv lub taub hau tiv thaiv los ntawm tom ntej / taub hau hauv Tom ntej kom yooj yim ntxiv cov metadata rau peb cov nplooj ntawv web uas yuav tshwm sim hauv cov txiaj ntsig tshawb nrhiav thiab kos duab:
cheebtsam
Koj yuav nquag tsim cov khoom lossis cov ntaub ntawv layout. Piv txwv li, ib feem uas ua rau navbar. Peb nyuam qhuav siv cov nplooj ntawv nplaub tshev txog tam sim no. Yuav ua li cas yog tias koj cov khoom tsis yog txhais tau tias yog nplooj ntawv txoj kev?
Koj tsis xav kom tus neeg siv mus rau nplooj ntawv xws li localhost/navbar. Yog tias koj tso Navbar.js tivthaiv hauv nplooj ntawv nplaub tshev, qhov ntawd yuav tshwm sim. Koj yuav tsum ua li cas hauv qhov xwm txheej?
Tsuas khaws tag nrho koj cov 'tsis yog nplooj ntawv' cov khoom nyob rau hauv ib daim ntawv tais ceev tseg. Feem ntau Next.js tej yaam num siv cov moniker 'cov khoom,' thiab cov nplaub tshev no yog tsim nyob rau hauv lub hauv paus nplaub tshev ntawm koj qhov project.
Lub taub hau tivthaiv
Thawj nplooj ntawv thauj khoom yog ua los ntawm Next.js ntawm server-sab. Nws ua qhov no los ntawm kev hloov kho HTML ntawm koj nplooj ntawv. Ntu header suav nrog.
Lub Next.js Lub taub hau tivthaiv yog siv los muab cov ntsiab lus header xws li lub npe thiab meta. Lub taub hau tivthaiv yog siv nyob rau hauv qhov piv txwv ntawm ib tug Layout tivthaiv.
Tsim 404 nplooj ntawv tsis pom
Nws muaj peev xwm ua rau koj tus kheej 404 nplooj ntawv yuam kev. Tej zaum koj yuav xav kho cov lus lossis ntxiv koj tus kheej nplooj ntawv tsim. Hauv nplooj ntawv nplaub tshev, tsim cov ntaub ntawv 404.js.
Thaum 404 yuam kev tshwm sim, Next.js yuav cia li hloov mus rau nplooj ntawv no. Nov yog ib qho piv txwv ntawm nplooj ntawv 404 tus kheej:
Kev xa cov ntaub ntawv los ntawm server-sab
Hloov chaw rub tawm cov ntaub ntawv ntawm tus neeg siv khoom-sab, Next.js tso cai rau koj los ua thawj cov ntaub ntawv pej xeem, uas txhais tau tias xa cov nplooj ntawv nrog cov ntaub ntawv uas twb muaj lawm los ntawm lub server.
Koj muaj ob txoj kev xaiv rau kev siv cov ntaub ntawv server-sab mus nqa:
- Cov ntaub ntawv yuav tsum tau nqa ntawm txhua qhov kev thov.
- Tsuas yog tau txais cov ntaub ntawv ib zaug thoob plaws hauv txoj kev tsim kho (qhov chaw zoo li qub)
Nqa cov ntaub ntawv ntawm txhua qhov kev thov
Txoj kev getServerSideProps yog siv rau server-sab ua txhua qhov kev thov. Cov haujlwm no tuaj yeem suav nrog qhov kawg ntawm koj cov ntaub ntawv tivthaiv. Next.js yuav cia li populate koj cov khoom tivthaiv nrog cov khoom getServerSideProps yog tias qhov haujlwm ntawd nyob hauv koj cov ntaub ntawv tivthaiv.
Nqa cov ntaub ntawv thaum lub sijhawm tsim
Txoj kev getStaticProps yog siv los ua cov server-sab ntawm lub sijhawm tsim. Cov haujlwm no tuaj yeem suav nrog qhov kawg ntawm koj cov ntaub ntawv tivthaiv. Txoj kev no khiav cov cai server thiab xa daim ntawv thov GET rau server, tab sis tsuas yog ib zaug thaum peb qhov project tiav.
Vim li cas koj thiaj yuav tsum kawm Next.js?
Ib qho laj thawj rau qhov no yog vim Next.js ua rau saum React, cov khoom siv txhim kho pem hauv ntej rau tsim cov neeg siv interfaces uas yog qhov kuv nyiam xaiv rau tsim web apps.
Tab sis nws yuav tsis txaus yog Next.js tsis zoo ntawm qhov nws tau ua ... txoj cai?
Yog li, nws ua li cas tiag?
Peb yuav tsum xub txhais ob peb lub tswv yim thiaj li yuav nkag siab nws. Next.js tau txais koob meej vim nws tau daws qhov teeb meem uas ntau tus neeg tsim lub vev xaib muaj nrog cov neeg siv khoom-sab web apps (hauv browser). Cov Ntawv Thov Ib Ntus Ib Leeg (SPAs) tau muaj kev paub zoo dua vim lawv tsis xav tau cov neeg siv rov qab nplooj ntawv thiab tso cai rau kev sib tham ntau dua.
Txawm li cas los xij, vim tias feem ntau ntawm cov khoom siv hauv ib qho app zoo li qhov no tsuas yog pom thaum nws ua tiav hauv qhov browser, web crawlers muaj lub sijhawm nyuaj nkag siab cov ntsiab lus ntawm cov app zoo li no.
Yog li ntawd, txawm tias lawv muaj koob meej, ntau SPAs tseem tsis qhia npe rau cov kev tshawb fawb loj xws li Google. Tom ntej no.js tam sim no suav nrog lub zog ua haujlwm zoo dua rau kev ua haujlwm sab nraud (SSR) ntawm React Cheebtsam.
Next.js tso cai rau cov neeg tsim khoom tsim cov cai JavaScript ntawm tus neeg rau zaub mov thaum lub sijhawm tsim cov txheej txheem thiab muab qhov yooj yim, indexable HTML rau tus neeg siv.
pros
- Zoo heev rau cov neeg siv kev paub
- Zoo rau SEO
- Tsim lub vev xaib super-ceev zoo li qub uas coj zoo li lub zog
- Flexibility hauv kev tsim UI & UX.
- Ntau qhov kev txhim kho zoo
- Kev txhawb zej zog zoo heev
cons
- Cov vev xaib lossis cov ntawv thov muaj qee lub sijhawm los tsim lossis tsim.
- Rau qee yam haujlwm, Next.js tsis txaus. Cov neeg tsim khoom yuav tsum muaj peev xwm tsim txoj hauv kev zoo siv Node.js cov cuab yeej.
xaus
Raws li koj tuaj yeem pom, Next.js yooj yim React app txhim kho thiab tso cai rau koj tsom mus rau qhov tseem ceeb tshaj plaws - koj lub app logic thiab UI. Nws suav nrog txhua yam uas xav tau los tsim cov apps niaj hnub, frontend-nplua nuj thiab API-powered apps.
Nws kuj tseem tsim nyog rau cov ntsiab lus nkaus xwb, xws li blogs thiab cov vev xaib ua lag luam, vim nws lub peev xwm los tsim cov nplooj ntawv HTML zoo li qub.
Nrog rau cov ntawv tshaj tawm tam sim no, Next.js tsis tsuas yog tswj hwm qib siab ntawm cov neeg tsim khoom kev paub tab tab sis kuj muab cov cuab yeej rau kev ua kom pom kev ua tau zoo thiab cov neeg siv kev paub dhau los, ua kom muaj lub neej yav tom ntej zoo rau lub moj khaum no.
Sau ntawv cia Ncua