Wussten Sie, dass Sie auf Ihr Paket zugreifen können, ohne es zu installieren?
Ja, das können Sie, mit Hilfe beliebter CDNs wie unpkg und jsDelivr!
Was ist das?
Unpkg und jsDelivr sind CDNs, die öffentliche npm-Pakete hosten. Sie ermöglichen browserbasierten Apps den schnellen globalen Zugriff auf Pakete, ohne dass ein Paketmanager oder Bundler erforderlich ist.
Wie greife ich zu?
-
Unpkg: https://unpkg.com/package-name
-
jsDelivr: https://cdn.jsdelivr.net/npm/package-name
Wie funktioniert es?
-
Sie veröffentlichen auf npm:
Ihr Paket wird in die öffentliche NPM-Registrierung hochgeladen, wenn Sie NPM Publish ausführen.
-
CDNs von npm abrufen:
- Sie erkennen neue Versionen in der npm-Registrierung.
- Laden Sie den Paket-Tarball herunter und extrahieren Sie ihn.
- Stellen Sie Dateien basierend auf Feldern wie main, unpkg oder jsdelivr in package.json bereit.
-
Benutzerdefinierte Felder:
Felder wie unpkg und jsdelivr in package.json geben an, welche Datei das CDN bereitstellen soll. Diese Felder werden von anderen Tools ignoriert, sofern sie nicht ausdrücklich unterstützt werden.
Beispiel: @monaco-editor/react
{
"name": "@monaco-editor/react",
"version": "4.4.6",
"main": "lib/cjs/index.js",
"unpkg": "lib/umd/monaco-react.min.js",
"jsdelivr": "lib/umd/monaco-react.min.js"
}
unpkg und jsdelivr sind benutzerdefinierte Felder, keine Standardfelder, und diese können von anderen Tools ignoriert werden, es sei denn, sie erkennen sie ausdrücklich. Es wird verwendet, um zu bestimmen, welche Datei bereitgestellt werden soll, wenn das Paket über das CDN unpkg / jsdelivr angefordert wird.
Anwendungsfälle
1. Browserbasierte Anwendungen
2. Schnelle, weltweite Lieferung
-
Anwendungsfall: Stellen Sie sicher, dass Ihr Paket weltweit schnell und zuverlässig zugestellt wird.
-
Beispiel:
- Eine Website, die Ihre Bibliothek nutzt, profitiert von den global verteilten Edge-Servern von jsDelivr oder Unpkg, die die Latenz reduzieren.
-
Relevanz:
- Ideal für Anwendungen mit hohem Datenverkehr oder wenn die Leistung entscheidend ist.
3. Build-Schritte vermeiden
-
Anwendungsfall: Stellen Sie eine gebrauchsfertige Version Ihrer Bibliothek für Benutzer bereit, die sich nicht mit Transpilierung oder Bündelung befassen möchten.
-
Beispiel:
- Ihr Paket enthält einen vorgebündelten UMD- oder IIFE-Build. Entwickler können es ohne Setup direkt einbinden:
{
"name": "@monaco-editor/react",
"version": "4.4.6",
"main": "lib/cjs/index.js",
"unpkg": "lib/umd/monaco-react.min.js",
"jsdelivr": "lib/umd/monaco-react.min.js"
}
-
Relevanz:
- Ideal für schnelle Entwicklungsumgebungen oder Nicht-Node.js-Ökosysteme.
4. Einbetten von Bibliotheken in statische Sites
5. Legacy-Umgebungen
-
Anwendungsfall: Ermöglichen Sie Benutzern das Arbeiten in Umgebungen ohne moderne Build-Tools oder Node.js.
-
Beispiel:
- Ein Entwickler, der eine ältere Anwendung verwaltet, kann Ihre Bibliothek über CDN-Links nutzen, anstatt sein veraltetes Setup zu ändern.
-
Relevanz:
- Unterstützt ältere Apps oder nicht moderne JavaScript-Umgebungen.
6. Demos und Sandboxes
7. Versionsspezifisches Laden
-
Anwendungsfall: Ermöglichen Sie Benutzern das Laden bestimmter Versionen Ihrer Bibliothek, ohne sich um npm-Installationsbefehle kümmern zu müssen.
-
Beispiel:
- Ein Benutzer möchte Version 2.3.0:
{
"name": "@monaco-editor/react",
"version": "4.4.6",
"main": "lib/cjs/index.js",
"unpkg": "lib/umd/monaco-react.min.js",
"jsdelivr": "lib/umd/monaco-react.min.js"
}
-
Relevanz:
- Hilft Entwicklern, ihre Projekte zu testen oder an eine bestimmte Version zu binden, ohne Tools zu bündeln.
8. Teilen von Paketen in Multi-Framework-Projekten
9. Backup oder Alternative zu npm
-
Anwendungsfall: Bieten Sie eine alternative Möglichkeit, auf Ihr Paket zuzugreifen, wenn Probleme mit der NPM-Registrierung auftreten.
-
Beispiel:
- jsDelivr kann Pakete bereitstellen, auch wenn npm vorübergehend nicht verfügbar ist.
-
Relevanz:
- Fügt Redundanz und Zuverlässigkeit hinzu.
Wann sollte man CDN-Hosting vermeiden?
-
Moderne Anwendungen:
- Wenn die meisten Ihrer Benutzer Node.js oder moderne Bundler (Webpack, Rollup usw.) verwenden, benötigen sie wahrscheinlich kein CDN.
-
Paketgröße:
- Große Bibliotheken, die über CDN bereitgestellt werden, können die Ladezeiten des Browsers verlängern.
-
Versionskonflikte:
- Wenn möglicherweise mehrere Versionen Ihrer Bibliothek gleichzeitig geladen werden, kann dies zu unerwartetem Verhalten führen.
Zusammenfassung der Anwendungsfälle
Use Case |
Ideal For |
Example Usage |
Browser Inclusion |
Simplicity |
|
Fast Delivery |
High-traffic apps |
Use of jsDelivr or Unpkg for caching |
Avoiding Build Steps |
Prototypes or small projects |
UMD or IIFE pre-bundled files |
Embedding in Static Sites |
Blogs, lightweight sites |
Markdown renderer, chart libraries |
Demos and Sandboxes |
Quick testing |
Platforms like CodePen or JSFiddle |
Sharing Across Frameworks |
Multi-framework apps |
Shared libraries or design systems |
CDN-Hosting ist eine großartige Ergänzung zur npm-Verteilung, insbesondere für weborientierte Bibliotheken. Wenn Sie spezielle Anforderungen haben, fragen Sie einfach nach!
Das obige ist der detaillierte Inhalt vonGreifen Sie auf das Paket zu, ohne es zu installieren.. 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