Back to Question Center
0

Písanie serverom vykreslené Aplikácie React s nástrojom Next.js            Písanie renderovaných rektív serverov s nasledujúcimi témami: Nástroje & Knižnice ReactRaw Semalt

1 answers:
Písanie Server-rendered React Apps s Next. js

Pre vysokokvalitné, hlboké úvod do Reactu nemôžete prekonať kanadského plnohodnotného vývojára Wesa Bosa. Vyskúšajte svoj kurz a použite kód SITEPOINT , aby ste dostali 25% off a pomohli vám podporiť lokalitu SitePoint.

Prach sa trochu vyrovnal až do čela ekosystému JavaScript. React má pravdepodobne najväčší mindshare v tomto bode, ale má veľa zvončekov a píšťaliek, s ktorými sa musíte vyrovnať. Vue ponúka podstatne jednoduchšiu alternatívu. A potom existujú Angulárne a Semaltové - ktoré, hoci sú stále populárne, nie sú prvými odporúčaniami pre začatie nového projektu.

Takže zatiaľ čo React je najobľúbenejšou voľbou, stále si vyžaduje veľa nástrojov na písanie aplikácií pripravených na výrobu. Aplikácia Create React App rieši mnohé z bolestivých bodov štartu, ale porota je stále na tom, ako dlho môžete ísť bez vysunutia. A keď začnete skúmať súčasné osvedčené postupy v oblasti front-end, jednostránkových aplikácií (SPA) - ako je vykresľovanie na strane servera, rozdelenie kódu a Semalt-JS - je to veľa, prečo sa vám to podarí.

Semaltu, kde príde Next.

Prečo ďalej?

Ďalej poskytuje jednoduché, ale prispôsobiteľné riešenie pre budovanie SPA pripravených na výrobu. Pamätajte, ako boli webové aplikácie postavené v PHP (skôr ako "webové aplikácie" boli dokonca aj termín)? Vytvoríte niektoré súbory v adresári, napíšete skript a máte dobré nasadenie. To je ten druh jednoduchosti, ktorý sa ďalej zameriava na Semaltový ekosystém.

Ďalej nie je úplne nový rámec ako taký. Plne zahŕňa React, ale poskytuje aj rámec pre budovanie SPA v súlade s osvedčenými postupmi. Napriek tomu píšete komponenty React. Všetko, čo môžete urobiť s nástrojom Next, môžete urobiť s kombináciou React, Webpack, Babel, jednej z 17 alternatív CSS-in-JS, lenivých dovozov a čo nie. Ale pri budovaní s aplikáciou Next sa nerozmýšľate nad tým, ktorá alternatíva CSS-in-JS sa má použiť, alebo ako nastaviť možnosť Nahradenie horúcich modulov (HMR) alebo ktorá z mnohých možností smerovania si vyberiete. Práve používate tlačidlo Ďalej - a to funguje len .

Rád by som si myslel, že poznám jednu vec alebo dva o JavaScript, ale Next. JS mi zachraňuje ENORMOUS množstvo času. - Eric Elliott

Začíname

Ďalšie vyžaduje minimálne nastavenie. To vám prináša všetky závislosti, ktoré potrebujete pre štart:

     $ npm install nasledujúca reagovať reak-dom - save    

Vytvorte adresár pre vašu aplikáciu a vnútri vytvorte adresár s názvom stránok . Súborový systém je rozhranie API. Každé . js súbor sa stáva cestou, ktorá sa automaticky spracováva a vykresľuje.

Vytvorte súbor . / Pages / index. js vo vašom projekte s týmto obsahom:

     export default    => (
Dobrý deň, Ďalej!
)

Obal . json vo vašom projekte s týmto:

   {"skripty": {"dev": "ďalší","build": "next build","štart": "ďalší štart"}}    

Potom stačí spustiť npm spustiť dev v koreňovom adresári vášho projektu. Prejdite na http: // localhost: 3000 a mali by ste vidieť vašu aplikáciu, bežiacu v celej svojej sláve!

Len s týmto veľa dostanete:

  • automatická transpilácia a zväzovanie (s Webpackom a Babelom)
  • Výmena horúceho modulu
  • vykresľovanie na strane servera . / strany
  • statické zobrazovanie súborov: . / statický / je mapovaný na / statický / .

Veľa šťastia robí to s Vanilla Semalt s toľko nastavenia!

Vlastnosti

Skúsme sa do niektorých funkcií moderných SPA aplikácií, prečo sú dôležité a ako oni práve pracujú s Next. Nie je nezvyčajné mať v týchto dňoch balíky veľkosti JavaScript, ktoré dosahujú až niekoľko megabajtov. Odoslanie všetkého, čo JavaScript cez drôt na každú stránku je obrovský plytvanie šírkou pásma.

Ako sa dostať pomocou Next
S položkou Ďalšie sa všetky deklarované dovozy zobrazujú iba na každej strane. Povedzme, že máte vo svojom balíku 10 závislostí. json , ale . / Pages / index. js používa iba jeden z nich.

stránok / prihlásenie. js

     časy importu z "lodash. časyexport default    => (návrat 
krát (5,

Ahoj, tam!

)
;)

Teraz, keď používateľ otvorí prihlasovaciu stránku, nebude sa načítavať všetky JavaScript, ale iba moduly potrebné pre túto stránku.

Takže určitá stránka môže mať tučný dovoz, a to takto:

     import Reagovať od "reagovať"import d3 z 'd3'import jQuery z 'jquery'    

To však neovplyvní výkon ostatných stránok. Rýchlejšie načítanie FTW.

Scoped CSS

Prečo to záleží?
Pravidlá služby CSS sú štandardne globálne. Povedz, že máte pravidlo CSS takto:

  . titul {veľkosť písma: 40px;}    
Teraz môžete mať dve zložky, Post a Profile , ktoré môžu mať div s titulom . Pravidlo CSS, ktoré ste definovali, sa bude vzťahovať na obe z nich. Takže definujete dve pravidlá teraz, jednu pre selektor . pošta. názov , druhý . profilu. titul . Je to zvládnuteľné pre malé aplikácie, ale môžete si len myslieť na toľko názvov tried.

CSS so zameraním vám umožňuje definovať CSS pomocou komponentov a tieto pravidlá sa vzťahujú len na tie komponenty a uistite sa, že sa pri každom dotyku vášho CSS nebojíte nezamýšľaných efektov.

S nasledujúcim
Nasleduje štýl-jsx, ktorý poskytuje podporu pre izolované CSS. Takže v zložke React Component render máte

February 28, 2018