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"
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
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
-
Anwendungsfall: Entwickler möchten Ihre Bibliothek direkt in HTML-Dateien einbinden, ohne einen Paketmanager oder Bundler zu verwenden.
-
Beispiel:
- Ein Front-End-Entwickler möchte @monaco-editor/react in sein Projekt einbinden, ohne npm, Webpack oder andere Build-Tools einzurichten.
- Sie können Folgendes direkt verwenden:
<script src="https://unpkg.com/@monaco-editor/react@latest/dist/monaco-react.min.js"></script>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
-
Relevanz:
- Dies vereinfacht die Einführung für Entwickler, die keine modernen JavaScript-Workflows verwenden.
- Üblicherweise für Demo-Apps, Prototypen oder kleine Projekte.
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"
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
-
Relevanz:
- Ideal für schnelle Entwicklungsumgebungen oder Nicht-Node.js-Ökosysteme.
4. Einbetten von Bibliotheken in statische Sites
-
Anwendungsfall: Vereinfachen Sie die Einbindung von Bibliotheken in statische Websites ohne komplexe Setups.
-
Beispiel:
- Ein Blogger möchte in seinem Blog einen Markdown-Renderer verwenden:
<script src="https://unpkg.com/@monaco-editor/react@latest/dist/monaco-react.min.js"></script>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
-
Relevanz:
- Perfekt für den Einsatz in kleinem Maßstab, bei dem die Installation und Verwaltung von Abhängigkeiten übertrieben ist.
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
-
Anwendungsfall: Bieten Sie schnellen Zugriff auf Ihre Bibliothek für Online-Demos, Sandboxes oder Testplattformen.
-
Beispiel:
- Auf Plattformen wie CodePen oder JSFiddle können Sie Ihre Bibliothek direkt laden:
<script src="https://cdn.jsdelivr.net/npm/my-library"></script>
Nach dem Login kopieren
-
Relevanz:
- Vereinfacht die Präsentation und das Experimentieren mit Ihrer Bibliothek.
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"
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
-
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
-
Anwendungsfall: Ein Paket wird zwischen Projekten geteilt, die verschiedene Ökosysteme (React, Angular, Vue usw.) verwenden, und CDN-Hosting vermeidet Bündelungskonflikte.
-
Beispiel:
- Eine Designsystembibliothek (my-ui-library) wird auf einem CDN gehostet und Teams können sie direkt in mehrere Projekte einbinden:
<script src="https://unpkg.com/@monaco-editor/react@latest/dist/monaco-react.min.js"></script>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
-
Relevanz:
- Fördert die Wiederverwendung ohne Aufwand für das Abhängigkeitsmanagement.
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!