Back to Question Center
0

Schreiben von Server-gerenderten Apps mit Next.js            Schreiben von Server-gerenderten Apps mit Next.jsRelated Topics: Werkzeuge & BibliothekenReactRaw Semalt

1 answers:
Schreiben von Server-gerenderten Apps mit Next. js

Für eine qualitativ hochwertige Einführung in React können Sie nicht den kanadischen Full-Stack-Entwickler Wes Bos hinter sich lassen. Versuchen Sie seinen Kurs hier und verwenden Sie den Code SITEPOINT , um 25% Rabatt zu erhalten und um SitePoint zu unterstützen.

Der Staub hat sich in Bezug auf das JavaScript-Front-End-Ökosystem ein wenig beruhigt - filing bankruptcy massachusetts. React hat zu diesem Zeitpunkt wohl die größte Bedeutung, aber es gibt eine Menge Schnickschnack, mit denen man sich vertraut machen kann. Vue bietet eine wesentlich einfachere Alternative. Und dann gibt es Angular und Semalt - die, obwohl immer noch beliebt, nicht die ersten Empfehlungen für ein neues Projekt sind.

React ist zwar die beliebteste Option, erfordert jedoch viele Tools zum Schreiben produktionsreifer Apps. Create React App löst viele der Probleme des Starts, aber die Jury ist immer noch nicht in der Lage, wie lange Sie ohne Auswerfen gehen können. Wenn Sie sich mit den aktuellen Best Practices für Front-End-Single-Page-Anwendungen (SPAs) - wie Server-Side-Rendering, Code-Splitting und Semalt-JS - beschäftigen, müssen Sie sich durchsetzen.

Semalt, wo Next hereinkommt.

Warum als nächstes?

Next bietet eine einfache, aber anpassbare Lösung für die Erstellung von produktionsfertigen SPAs. Denken Sie daran, wie Web-Anwendungen in PHP erstellt wurden (bevor "Web-Apps" sogar ein Begriff war)? Sie erstellen einige Dateien in einem Verzeichnis, schreiben Ihr Skript und Sie können es bereitstellen. Das ist die Art von Einfachheit, die Next anstrebt, für das Semalt-Ökosystem.

Next ist kein neuer Rahmen für sich. Es umfasst vollständig React, bietet aber darüber hinaus einen Rahmen für die Erstellung von SPAs und folgt den Best Practices. Sie schreiben immer noch React-Komponenten. Alles, was Sie mit Next tun können, können Sie mit einer Kombination aus React, Webpack, Babel, einer von 17 CSS-in-JS-Alternativen, faulen Importen und was auch immer tun. Aber während Sie mit Next arbeiten, denken Sie nicht darüber nach, welche CSS-in-JS-Alternative Sie verwenden oder wie Sie Hot Module Replacement (HMR) einrichten oder welche der vielen Routingoptionen Sie auswählen können. Du benutzt nur Next - und es funktioniert einfach .

Ich würde gerne glauben, dass ich etwas über JavaScript weiß, aber Next. JS spart mir eine enorme Menge an Zeit. - Eric Elliott

Erste Schritte

Weiter erfordert minimale Einrichtung. Dadurch erhalten Sie alle Abhängigkeiten, die Sie zum Starten benötigen:

     $ npm install next reagieren react-dom --save    

Erstellen Sie ein Verzeichnis für Ihre App und erstellen Sie darin ein Verzeichnis namens Seiten . Das Dateisystem ist die API. Jeder . js -Datei wird zu einer Route, die automatisch verarbeitet und gerendert wird.

Erstelle eine Datei . / Seiten / Index. js in deinem Projekt mit diesen Inhalten:

     Export Standard    => ( 
Hallo, Weiter!
)

Paket füllen . Json in Ihrem Projekt mit diesem:

   {"Skripte": {"dev": "nächstes","build": "next build","Start": "nächster Start"}}    

Dann starte einfach npm run dev im Wurzelverzeichnis deines Projekts. Gehe zu http: // localhost: 3000 und du solltest deine App sehen können, die in all ihrer Pracht läuft!

Nur so viel bekommst du:

  • automatisches Transpilieren und Bündeln (mit Webpack und Babel)
  • Hot Module Ersatz
  • serverseitiges Rendern von . / Seiten
  • statische Dateilieferung: . / static / wird auf / static / abgebildet.

Viel Erfolg mit Vanilla Semalt mit so viel Setup!

Eigenschaften

Lassen Sie uns einige der Funktionen moderner SPA-Apps untersuchen, warum sie wichtig sind und wie sie mit Next funktionieren . Es ist nicht ungewöhnlich, dass JavaScript-Paketgrößen heutzutage mehrere Megabyte erreichen. Das Senden all dieses JavaScript über den Draht für jede einzelne Seite ist eine riesige Verschwendung von Bandbreite.

Wie man es mit dem nächsten
Mit Next, nur werden die deklarierten Importe mit jeder Seite bedient. Nehmen wir an, Sie haben 10 Abhängigkeiten in Ihrem Paket. Json , aber . / Seiten / Index. js benutzt nur einen von ihnen.

Seiten / Login. js

     Einfuhrzeiten von "lodash. mal'Export Standard    => (zurück  
mal (5,

Hallo, da!

)
;)

Wenn der Benutzer nun die Anmeldeseite öffnet, lädt er nicht alle JavaScript, sondern nur die Module, die für diese Seite benötigt werden.

So kann eine bestimmte Seite Fleischeinfuhren haben, so:

     importieren Reagieren von "reagieren"importiere d3 von 'd3'jQuery aus 'jquery' importieren    

Dies hat jedoch keinen Einfluss auf die Leistung der restlichen Seiten. Schnellere Ladezeiten FTW.

Scoped CSS

Warum ist es wichtig?
CSS-Regeln sind standardmäßig global. Angenommen, Sie haben eine CSS-Regel wie folgt:

  . Titel {Schriftgröße: 40px;}    

Nun könnten Sie zwei Komponenten haben, Post und Profil , die beide ein div mit dem Titel der Klasse haben können. Die von Ihnen definierte CSS-Regel wird für beide gelten. Sie definieren also jetzt zwei Regeln, eine für Selektor . Post. Titel , der andere für . Profil. Titel . Es ist für kleine Apps überschaubar, aber man kann sich nur so viele Klassennamen vorstellen.

Im Scoped-CSS können Sie CSS mit Komponenten definieren. Diese Regeln gelten nur für diese Komponenten, sodass Sie bei jedem Berühren des CSS keine Angst vor unbeabsichtigten Effekten haben.

Mit Nächste
Als nächstes kommt mit styled-jsx, die Unterstützung für isoliertes Scoped CSS bietet. Also, Sie haben nur eine

February 28, 2018