Optimierung des Paket-Bundlings
Das Bundling externer Pakete kann die Leistung Ihrer Anwendung erheblich verbessern. Standardmäßig werden Pakete, die innerhalb von Server-Komponenten und Route-Handlern importiert werden, von Next.js automatisch gebündelt. Diese Seite wird Sie durch die Analyse und weitere Optimierung des Paket-Bundlings führen.
Analysieren von JavaScript-Bundles
@next/bundle-analyzer
ist ein Plugin für Next.js, das Ihnen hilft, die Größe Ihrer Anwendungs-Bundles zu verwalten. Es generiert einen visuellen Bericht über die Größe der einzelnen Pakete und deren Abhängigkeiten. Sie können die Informationen nutzen, um große Abhängigkeiten zu entfernen, zu teilen oder Ihren Code lazy zu laden.
Installation
Installieren Sie das Plugin durch Ausführen des folgenden Befehls:
Fügen Sie dann die Einstellungen des Bundle-Analyzers zu Ihrer next.config.js
hinzu.
Generieren eines Berichts
Führen Sie den folgenden Befehl aus, um Ihre Bundles zu analysieren:
Der Bericht öffnet drei neue Tabs in Ihrem Browser, die Sie untersuchen können. Eine regelmäßige Bewertung der Bundles Ihrer Anwendung kann Ihnen helfen, die Leistung im Laufe der Zeit zu erhalten.
Optimieren von Paket-Importen
Einige Pakete, wie Bibliotheken mit Icons, können Hunderte von Modulen exportieren, was Leistungsprobleme in Entwicklung und Produktion verursachen kann.
Sie können die Art und Weise, wie diese Pakete importiert werden, optimieren, indem Sie die Option optimizePackageImports
zu Ihrer next.config.js
hinzufügen. Diese Option lädt nur die Module, die Sie tatsächlich verwenden, während sie Ihnen weiterhin die Bequemlichkeit bietet, Import-Anweisungen mit vielen benannten Exporten zu schreiben.
Next.js optimiert einige Bibliotheken auch automatisch, sodass sie nicht in die Liste von optimizePackageImports aufgenommen werden müssen. Sehen Sie sich die vollständige Liste an.
Ausnahmen für bestimmte Pakete beim Bundling
Da Pakete, die in Server-Komponenten und Route-Handlern importiert werden, von Next.js automatisch gebündelt werden, können Sie bestimmte Pakete vom Bundling ausnehmen, indem Sie die Option serverExternalPackages
in Ihrer next.config.js
verwenden.
Next.js enthält eine Liste beliebter Pakete, die derzeit an der Kompatibilität arbeiten und automatisch ausgenommen werden. Sehen Sie sich die vollständige Liste an.