Next.js is 'n React-raamwerk vir die lewering van die bediener, wat sy skeppers aanbied as 'n enkele opdraggereedskapsketting vir React-toepassings.
Hierdie raam bied 'n algemene struktuur waarmee u maklik 'n React-toepassingsprogram kan skep en bestuur die lewering van die bediener op 'n deursigtige manier. Next.js-weergawe 9.3 is Maandag bekendgestel met nuwe funksies en verbeterings, waarvan ons die vermoë sal vind om statiese webwerwe as die belangrikste nuwigheid te genereer.
Wat is nuut in Next.js 9.3?
Met die vrystelling van Next.js 9.0, die raamwerk het die konsep van statiese outomatiese optimalisering bekendgestel. Wanneer a bladsy het geen blokkeervereistes nie dataherwinning soos getInitialProps, sal outomaties in HTML weergegee word sodra dit gebou is.
Daar is ander gevalle waar u op kompileringstyd 'n bladsy in statiese HTML wil maak, selfs met die vereiste vir die ontginning van data. Dit is byvoorbeeld die geval met bemarkingsbladsye aangedryf deur 'n inhoudsbestuurstelsel (CMS).
Next.js 9.3 stel twee nuwe metodes vir dataherwinning bekend: getStaticProps en getServerSideProps.
Hierdie nuwe metodes hulle het baie voordele bo die getInitialProps-modelaangesien daar 'n duidelike onderskeid is tussen wat SSG (Static Side Generation) en SSR (Server Side Rendering) sal word. Dit is API-toevoegings.
Alle nuwe funksies is agteruit versoenbaar en kan geleidelik aangeneem word. Daar is geen waardevermindering nie en getInitialProps bly normaal werk. 'N GetStaticPaths-parameter is bygevoeg om dinamiese routing te verkry.
- getStaticProps: maak dit moontlik om data tydens konstruksie te bekom;
- getStaticPaths - Spesifiseer data-gebaseerde dinamiese routing;
- getServerSideProps: hiermee kan u data vir elke versoek kry.
'N Ander verandering wat uit hierdie nuwe weergawe opval, is die ondersteuning vir die voorskoumodus. Bekendstelling van getStaticProps in Next.js maak nuwe moontlikhede oop, soos die gebruik van Next.js-weergawemoontlikhede op aanvraag onder sekere voorwaardes.
Bv. wanneer u 'n konsep voorskou In 'n CMS wil u die statiese weergawe en lewer bladsy op aanvraag met konsepinhoud in plaas van gepubliseerde inhoud. U wil hê dat Next.js slegs in hierdie spesifieke geval statiese bouwerk moet oorslaan. Volgens die Next.js-span kan u dit met die voorbeeldmodus doen.
Die modus van Voorskou stel gebruikers in staat om die gegenereerde bladsy oor te slaan staties om 'n konsepbladsy op versoek (SSR) terug te gee, byvoorbeeld vanaf 'n CMS. Dit is egter nie beperk tot sekere CMS-stelsels nie. Voorskoumodus kan direk met getStaticProps en getServerSideProps geïntegreer word sodat dit met enige soort datahersteloplossing gebruik kan word.
Next.js 9.2 het ondersteuning vir ingeboude CSS bygevoeg, maar Next.js 9.3 het ondersteuning vir Sass bygevoeg. Globale stylblaaie en CSS-modules word ondersteun, sowel as ingeboude CSS. Next.js ondersteun nou CSS-modules met Sass-lêers gebruik die lêernaamkonvensie [naam] .module.scss. Anders as die ondersteuning wat voorheen beskikbaar was in Next.js 5+ met next-sass, kan die globale Sass- en CSS-modules nou bestaan.
Modules Met CSS kan u Sass plaaslik bestuur deur outomaties unieke klasname te skep.
Met weergawe 9.0 van Next.js, daar was 'n bladsy wat nie outomaties in HTML weergegee is nie staties: 404 bladsy.
Die hoofrede hiervoor is dat die foutbladsy wat die 404 gevoer is meer hanteer is as die 404. Dit het byvoorbeeld ook foute hanteer. Aangesien 404 bladsye vir nie-bestaande paaie weergegee word, As u die bladsy op aanvraag weergee, kan dit lei tot hoër koste en hoër vrag bediener. Framework weergawe 9.3 verbeter dinge en bied outomatiese statiese optimalisering vir 404 bladsye.
As u versoek nou nie 'n aangepaste bladsy error.js bevat nie, dan is die lêer Next.js genereer outomaties 404 bladsye staties en gebruik dit wanneer 'n 404 bedien moet word. Dit gebeur outomaties en geen veranderinge is nodig nie.
U kan ook hierdie bladsy aanpas. Om die standaard 404-bladsy te vervang, kan u 'n 404.js-lêer skep.
As u meer daaroor wil weet, kan u raadpleeg die volgende skakel.
Wees die eerste om te kommentaar lewer