中央注册表位于 packages/onlyoffice-plugins/registry.yaml。开发网关为所有插件提供统一公网入口,各插件仍由独立 Vite 服务提供 HMR。
pnpm dev:onlyoffice
默认入口:
http://localhost:4173/onlyoffice-plugins/0.1.0-dev/eln-template-annotator/config.json
http://localhost:4173/onlyoffice-plugins/0.1.0-dev/eln-template-filler/config.json
内部端口只监听本机:annotator 使用 4181,filler 使用 4182。Vite 将每个插件的 HMR path 追加到插件 base,实际 WebSocket 路径为 /onlyoffice-plugins/<release>/<plugin-code>/__hmr/<plugin-code>,由同一插件代理转发。
mkdir -p /absolute/release-root /absolute/backend-config
ONLYOFFICE_PLUGIN_PUBLIC_BASE_URL=http://localhost:4173/onlyoffice-plugins \
ONLYOFFICE_PLUGIN_API_BASE_URL=http://localhost:30000 \
ONLYOFFICE_PLUGIN_RELEASE=0.1.0-dev \
ONLYOFFICE_RELEASE_ROOT=/absolute/release-root \
ONLYOFFICE_PLUGIN_CONFIG_OUTPUT=/absolute/backend-config/onlyoffice-plugins.yaml \
pnpm generate:onlyoffice-backend-config
输出文件包含注册表内全部 definitions 和 scenes,应交给配置中心或后端部署流程加载,不能写入插件公网 release 根目录。
packages/onlyoffice-plugins/ 下创建独立插件包。registry.yaml 添加唯一的 code、package、directory、GUID、内部端口和业务场景。0.1.0,开发 release 使用 0.1.0-dev。单插件开发命令继续可用,生产构建和不可变 release 不经过开发网关。