urlImports
URL-Imports sind ein experimentelles Feature, das es ermöglicht, Module direkt von externen Servern zu importieren (anstatt von der lokalen Festplatte).
Warnung: Verwenden Sie nur Domains, denen Sie vertrauen, um Code auf Ihrem Rechner herunterzuladen und auszuführen. Bitte gehen Sie mit Bedacht vor und seien Sie vorsichtig, bis dieses Feature als stabil gekennzeichnet ist.
Um es zu aktivieren, fügen Sie die erlaubten URL-Präfixe in der next.config.js
hinzu:
Anschließend können Sie Module direkt von URLs importieren:
URL-Imports können überall dort verwendet werden, wo normale Paketimporte möglich sind.
Sicherheitsmodell
Dieses Feature wird mit höchster Priorität auf Sicherheit entwickelt. Zunächst haben wir ein experimentelles Flag hinzugefügt, das Sie zwingt, explizit die Domains anzugeben, von denen Sie URL-Imports zulassen. Wir arbeiten daran, dies weiter zu verbessern, indem URL-Imports auf die Ausführung im Browser-Sandbox mithilfe der Edge Runtime beschränkt werden.
Lockfile
Bei Verwendung von URL-Imports erstellt Next.js ein next.lock
-Verzeichnis, das eine Lockfile und heruntergeladene Assets enthält.
Dieses Verzeichnis muss in Git eingecheckt werden und sollte nicht durch .gitignore
ignoriert werden.
- Bei Ausführung von
next dev
lädt Next.js alle neu entdeckten URL-Imports herunter und fügt sie Ihrer Lockfile hinzu. - Bei Ausführung von
next build
verwendet Next.js ausschließlich die Lockfile, um die Anwendung für die Produktion zu erstellen.
In der Regel sind keine Netzwerkanfragen erforderlich, und eine veraltete Lockfile führt zum Build-Fehler.
Eine Ausnahme sind Ressourcen, die mit Cache-Control: no-cache
antworten.
Diese Ressourcen erhalten einen no-cache
-Eintrag in der Lockfile und werden bei jedem Build erneut aus dem Netzwerk geladen.