Back to Question Center
0

Scrittura delle app di React rese dal server con Next.js            Scrittura di app reattive renderizzate dal server con argomenti Next.jsRelated: Strumenti e & BibliotecheReactRaw Semalt

1 answers:
Scrittura di applicazioni React rese dal server con Avanti. js

Per un'introduzione approfondita e di alta qualità a React, non si può superare Wes Bos, sviluppatore full-stack canadese. Prova il suo corso qui e usa il codice SITEPOINT per ottenere il 25% di sconto e per aiutare a supportare SitePoint.

La polvere si è stabilizzata un po 'per quanto riguarda l'ecosistema front-end di JavaScript. React ha probabilmente il più grande mindshare a questo punto, ma ha un sacco di campane e fischietti di cui hai bisogno per sentirti a tuo agio. Vue offre un'alternativa notevolmente più semplice - маршрутизаторы описание. E poi ci sono Angular e Semalt - che, pur essendo ancora popolari, non sono i primi consigli per iniziare un nuovo progetto.

Quindi, mentre React è l'opzione più popolare, richiede ancora molti strumenti per scrivere app pronte per la produzione. Create React App risolve molti dei punti dolenti di partenza, ma la giuria è ancora fuori da quanto tempo si può andare senza espellere. E quando inizi a esaminare le best practice attuali relative alle applicazioni front-end, a pagina singola (SPA) - come rendering lato server, code splitting e Semalt-JS - è molto difficile trovare la tua strada.

Semalt dove arriva Next.

Perché Next?

Next fornisce una soluzione semplice ma personalizzabile per la creazione di SPA pronte per la produzione. Ricorda in che modo le app web sono state create in PHP (prima che "web app" fosse addirittura un termine)? Crei alcuni file in una directory, scrivi il tuo script e sei pronto per la distribuzione. Questo è il tipo di semplicità a cui punta il prossimo obiettivo, per l'ecosistema Semalt.

Next non è un nuovo quadro di per sé. Racchiude appieno React, ma fornisce un framework in più per costruire le SPA seguendo le migliori pratiche. Scrivi ancora componenti React. Tutto quello che puoi fare con Next, puoi fare con una combinazione di React, Webpack, Babel, una delle 17 alternative CSS-in-JS, importazioni pigre e cosa no. Tuttavia, mentre si sta costruendo con Next, non si sta pensando a quale alternativa CSS-in-JS usare, o come configurare la sostituzione di moduli caldi (HMR) o quale delle molte opzioni di routing scegliere. Stai solo usando Avanti - e questo funziona .

Mi piacerebbe pensare di sapere una cosa o due su JavaScript, ma Avanti. JS mi fa risparmiare una quantità di tempo ENORME. - Eric Elliott

Guida introduttiva

Next richiede una configurazione minima. Questo ti fornisce tutte le dipendenze necessarie per iniziare:

     $ npm installa next react react-dom --save    

Crea una directory per la tua app e al suo interno crea una directory chiamata pagine . Il file system è l'API. Ogni . Il file js diventa una rotta che viene elaborata e resa automaticamente.

Creare un file . / Pages / index. js all'interno del tuo progetto con questi contenuti:

     export default    => ( 
Ciao, avanti!
)

Pacchetto Populate . json all'interno del tuo progetto con questo:

   {"script": {"dev": "successivo","build": "next build","start": "next start"}}    

Quindi esegui npm esegui dev nella directory principale del tuo progetto. Vai a http: // localhost: 3000 e dovresti essere in grado di vedere la tua app, che funziona in tutta la sua gloria!

Solo con questo molto ottieni:

  • transpilation automatica e bundling (con Webpack e Babel)
  • Sostituzione del modulo caldo
  • rendering lato server di . / pagine
  • pubblicazione di file statici: . / static / è mappato a / static / .

Buona fortuna con Vanilla Semalt in questo modo!

Caratteristiche

Analizziamo alcune delle funzionalità delle moderne app SPA, perché sono importanti e come funzionano con Next. Non è raro che le dimensioni dei bundle JavaScript raggiungano fino a diversi megabyte in questi giorni. L'invio di tutto quel codice JavaScript per ogni singola pagina è un enorme spreco di larghezza di banda.

Come ottenerlo con Next
Con Avanti, solo le importazioni dichiarate vengono offerte con ogni pagina. Quindi, diciamo che hai 10 dipendenze nel tuo pacchetto. json , ma . / Pages / index. js ne usa solo uno.

pagine / login. js

     tempi di importazione da «loggia». volte'export default    => (return  
times (5,

Hello, there!

)
;)

Ora, quando l'utente apre la pagina di login, non caricherà tutti il codice JavaScript, ma solo i moduli necessari per questa pagina.

Quindi una certa pagina può avere importazioni di grassi, come questa:

     import Reagire da "reagire"importa d3 da 'd3'importa jQuery da 'jquery'    

Ma questo non influirà sulle prestazioni del resto delle pagine. Tempi di caricamento più rapidi FTW.

Scoped CSS

Perché è importante?
Le regole CSS, per impostazione predefinita, sono globali. Supponiamo tu abbia una regola CSS come questa:

  . titolo {font-size: 40px;}    

Ora, potresti avere due componenti, Post e Profilo , che possono avere un div con il titolo di classe . La regola CSS che hai definito si applicherà a entrambi. Quindi, ora si definiscono due regole, una per il selettore . inviare. titolo , l'altro per . profilo. titolo . È gestibile per piccole app, ma puoi solo pensare a tanti nomi di classe.

Il CSS con scope consente di definire i CSS con i componenti e tali regole si applicano solo a quei componenti, assicurandosi di non avere paura degli effetti indesiderati ogni volta che si sfiora il CSS.

Con Successivo
Next viene fornito con styled-jsx, che fornisce il supporto per CSS con ambito isolato. Quindi, hai solo un componente

March 1, 2018