EmDash 插件以两种格式之一提供:沙盒或原生。选择影响安装方式、运行时强制执行和可用功能。
默认使用沙盒。 沙盒插件可以发布到市场并通过管理 UI 一键安装。原生插件需要代码修改、npm install 和重新部署。
概览
| 沙盒 | 原生 | |
|---|---|---|
| 编写格式 | emdash-plugin.jsonc + src/plugin.ts | definePlugin() 描述符 |
| 安装方式 | 管理市场一键安装 | npm install + 编辑 astro.config |
| 运行环境 | 隔离的运行时 | 与 Astro 站点相同的进程 |
| 管理 UI | Block Kit | React 组件或 Block Kit |
选择原生会失去什么
- 没有市场。 每个站点都必须安装您的 npm 包。
- 没有隔离。 插件中的 bug 可能导致宿主进程崩溃。
- 用户的信任负担。
何时选择原生
- 自定义 React 管理页面或小部件。
- 用于渲染 Portable Text 块的 Astro 组件。
- 向公共页面注入原始 HTML、脚本或样式表。