Ein Plugin-Format wählen

Auf dieser Seite

EmDash-Plugins werden in einem von zwei Formaten ausgeliefert: sandboxed oder nativ. Die Wahl beeinflusst die Installation, die Laufzeitdurchsetzung und die verfügbaren Funktionen.

Standardmäßig sandboxed. Sandboxed Plugins können im Marketplace veröffentlicht und mit einem Klick aus der Admin-UI installiert werden. Native Plugins erfordern eine Codeänderung, ein npm install und ein Redeployment.

Auf einen Blick

SandboxedNativ
Autorenformatemdash-plugin.jsonc + src/plugin.tsdefinePlugin() Deskriptor
InstallationsmethodeEin-Klick aus dem Admin-Marketplacenpm install + astro.config bearbeiten
Läuft inIsolierte Laufzeit eines Sandbox-RunnersGleicher Prozess wie Ihre Astro-Site
FähigkeitenVon der Sandbox-Bridge durchgesetztIm Prozess durchgesetzt
RessourcenlimitsVom Runner durchgesetztKeine
NetzwerkzugriffNur ctx.http, beschränkt auf allowedHostsNur ctx.http, beschränkt auf allowedHosts
Admin-UIBlock Kit (JSON-beschrieben)React-Komponenten oder Block Kit
Portable-Text-RenderingNicht verfügbarcomponentsEntry stellt Astro-Komponenten bereit
Seitenfragment-InjectionNicht verfügbarpage:fragments Hook

Was Sie durch Native aufgeben

  • Kein Marketplace. Jede Site muss Ihr npm-Paket installieren.
  • Keine Isolation. Ein Bug kann den Host-Prozess zum Absturz bringen.
  • Vertrauenslast beim Benutzer. Native Plugins haben denselben Zugriff wie die Host-Site.

Wann native wählen

  1. Benutzerdefinierte React-Admin-Seiten oder Widgets.
  2. Astro-Komponenten für Portable-Text-Blocks.
  3. Rohes HTML, Skripte oder Stylesheets in öffentliche Seiten injizieren.

Sandbox-Runner und Plattformunterstützung

Die Sandbox selbst ist pluggable. Zwei Runner werden mit EmDash ausgeliefert. Siehe Plugin-Sandbox für Details.

Weiter