Heim >Web-Frontend >js-Tutorial >Die stabile Version von NextJs ist da: Was ist neu?

Die stabile Version von NextJs ist da: Was ist neu?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-23 06:28:01331Durchsuche

NextJs Stable Version Is Here : What

Next.js hat gerade eine bahnbrechende Bombe abgeworfen und die stabile Version von Next.js 15 vor der Next.js Conf veröffentlicht – und es ist absolut verrückt! ?

Hier sind einige der atemberaubenden neuen Updates und Funktionen, die in Next.js 15 enthalten sind:

  • Verbesserte Upgrades mit @next/codemod CLI: Next.js 15 enthält eine neue Codemod-CLI, die das Upgrade auf die neuesten Next.js- und React-Versionen erleichtert. Die CLI aktualisiert Abhängigkeiten, zeigt verfügbare Codemods an und bietet Anleitungen zu deren Anwendung.
  • Asynchrone Anforderungs-APIs: APIs, die von anforderungsspezifischen Daten wie Headern, Cookies, Parametern und Suchparametern abhängen, wurden auf asynchron umgestellt. Diese Änderung betrifft APIs wie Cookies, Header, DraftMode, Parameter (in verschiedenen Kontexten) und SearchParams. Dies ist eine bahnbrechende Änderung, es steht jedoch ein Codemod zur Verfügung, der bei der Migration hilft.
  • Änderungen in der Caching-Semantik: Next.js 15 ändert das Standard-Caching-Verhalten für Abrufanforderungen, GET-Route-Handler und Client-Router-Cache. Diese sind jetzt standardmäßig nicht zwischengespeichert. Bei Bedarf können Sie sich für das Caching entscheiden.
    • Abrufanfragen verwenden jetzt „No-Store“ als Standard-Cache-Option, was bedeutet, dass sie standardmäßig nicht zwischengespeichert werden. Sie können sich für das Caching entscheiden, indem Sie die Cache-Option auf „Cache erzwingen“ einstellen.
    • GET-Routenhandler werden standardmäßig auch nicht zwischengespeichert. Sie können das Caching mit statischen Routenkonfigurationsoptionen aktivieren.
    • Der Client-Router-Cache speichert Seitenkomponenten nicht mehr standardmäßig zwischen. Sie können zum vorherigen Verhalten zurückkehren, indem Sie die staleTime in next.config.ts festlegen.
  • React 19-Unterstützung: Next.js 15 unterstützt React 19, einschließlich des experimentellen React Compilers.
    • Der App Router verwendet React 19 RC, während die Abwärtskompatibilität für React 18 für den Pages Router gewahrt bleibt. Die Verwendung von React 18 für den Pages Router und React 19 für den App Router in derselben Anwendung wird aufgrund möglicher Inkonsistenzen nicht empfohlen.
    • Der React Compiler zielt darauf ab, Code zu vereinfachen, indem er das manuelle Auswendiglernen reduziert, aber er ist noch experimentell und kann zu langsameren Build-Zeiten führen.
  • Stabiler Turbopack-Entwickler: Turbopack, das neue Rust-basierte Build-System, ist jetzt stabil im Entwicklungsmodus (nächster Entwickler --turbo). Es bietet erhebliche Leistungsverbesserungen beim Serverstart, bei der schnellen Aktualisierung und bei der ersten Routenkompilierung.
  • Statischer Routenindikator: Dieser neue visuelle Indikator hilft bei der Identifizierung statischer und dynamischer Routen während der Entwicklung.
  • unstable_after API: Die unstable_after API ermöglicht die Codeausführung, nachdem eine Antwort gestreamt wurde, was besonders hilfreich für Aufgaben ist, die den Benutzer nicht blockieren müssen, wie Protokollierung und Analyse.
  • instrumentation.js API: Mit dieser API können Entwickler Next.js-Serverlebenszyklusereignisse überwachen, was für die Leistungsverfolgung und Fehleranalyse hilfreich ist.
  • Verbesserungen an Formularen mit dem
    Komponente: Das neue Die Komponente vereinfacht die Formularverarbeitung mit Funktionen wie Vorabruf, clientseitiger Navigation und progressiver Verbesserung.
  • TypeScript-Unterstützung in next.config.ts: Next.js 15 unterstützt eine TypeScript-next.config.ts-Datei und bietet Typsicherheit und automatische Vervollständigung für Konfigurationsoptionen.
  • Selbsthosting-Verbesserungen: Next.js 15 bietet mehr Kontrolle über Cache-Control-Header für Selbsthosting, vereinfacht die Bildoptimierung durch die automatische Verwendung von Sharp und enthält eine Demo und ein Tutorial-Video zum Selbsthosting .
  • Verbesserte Serveraktionssicherheit: Next.js eliminiert jetzt ungenutzte Serveraktionen während des Build-Prozesses und nutzt unvorhersehbare IDs für clientseitige Referenzen, was die Sicherheit erhöht.
  • Bündelung externer Pakete: Next.js 15 bietet konsistentere Konfigurationsoptionen für die Bündelung externer Pakete sowohl über die App- als auch die Pages-Router. Die Option serverExternalPackages ermöglicht eine einheitliche Verwaltung.
  • ESLint 9-Unterstützung: Next.js 15 führt Unterstützung für ESLint 9 ein und behält gleichzeitig die Abwärtskompatibilität mit ESLint 8 bei. Das Update umfasst auch die Entfernung veralteter Optionen in Next Lint und ein Upgrade auf eslint-plugin-react- Hakt an Version 5.0.0.
  • Entwicklungs- und Build-Verbesserungen:
    • Verbesserter Hot Module Replacement (HMR) von Serverkomponenten zur Verbesserung der lokalen Entwicklungsleistung.
    • Schnellere statische Generierung im App Router durch optimierte Rendering-Prozesse und gemeinsame Abrufcaches zwischen den Arbeitern.
    • Einführung experimenteller statischer Generierungskontrollen für fortgeschrittene Anwendungsfälle, diese erfordern jedoch Vorsicht, da sie zu einem erhöhten Ressourcenverbrauch führen können.
  • Verschiedenes:
    • Wichtige Änderungen und Verbesserungen in verschiedenen Bereichen wie Next/Image, Middleware, Next/Font, Caching, Konfigurationsoptionen, Speed ​​Insights, Sitemaps, dynamische Routen, Revalidierung und mehr.
    • Allgemeine Verbesserungen bei der Metadatenverarbeitung, Tree-Shaking, parallelen Routen, Fehlerbehandlung, Prefetching und mehreren anderen Aspekten.

Es stellt sich die Frage: „Wie geht die Next.js-Version 15 mit dem Problem der unbeabsichtigten Offenlegung serverseitiger Funktionen um?“

Die Next.js 15-Version führt zwei Verbesserungen ein, um die unbeabsichtigte Offenlegung serverseitiger Funktionen, insbesondere Serveraktionen, zu beheben:

  • Eliminierung von totem Code: Serveraktionen, die in der Anwendung nicht verwendet werden, werden beim nächsten Build-Prozess automatisch entfernt. Dadurch wird verhindert, dass ihre IDs dem clientseitigen JavaScript-Bundle ausgesetzt werden und ein öffentlicher Endpunkt erstellt wird.
  • Sichere Aktions-IDs: Next.js 15 generiert nicht erratbare, nicht deterministische IDs für Serveraktionen, sodass es für Angreifer schwierig ist, sie zu erraten und direkt darauf zuzugreifen. Diese IDs werden zwischen den Builds regelmäßig neu berechnet, um die Sicherheit weiter zu erhöhen.

Es ist wichtig zu beachten, dass diese Maßnahmen das Risiko einer Gefährdung durch Serveraktionen nicht vollständig beseitigen. Entwickler sollten Serveraktionen weiterhin als öffentliche HTTP-Endpunkte behandeln und geeignete Sicherheitsmaßnahmen implementieren, um sensible Daten und Funktionen zu schützen.

Das obige ist der detaillierte Inhalt vonDie stabile Version von NextJs ist da: Was ist neu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn