InPageEdit 官方插件注册表
这个项目是 InPageEdit 的官方插件注册中心,用于托管和分发各种 InPageEdit 插件。项目会自动构建插件并生成插件注册表,供 InPageEdit 主程序使用。
.
├── packages/ # 插件源代码目录
│ ├── _boilerplate/ # 插件模板(用于创建新插件)
│ └── */ # 插件源代码目录
├── scripts/ # 构建脚本
│ ├── build.ts # 主构建脚本
│ └── new.ts # 创建新插件脚本
├── public/ # 静态资源
│ └── index.html # 插件中心页面
├── dist/ # 构建输出目录
└── registry-templates/ # 注册表模板
pnpm installpnpm run new根据提示输入插件信息即可创建一个新的插件。
启动全局开发服务器,实时预览插件列表和调试插件:
pnpm dev开发服务器启动后,你可以:
-
访问 http://localhost:1029/ 查看插件浏览器
实时查看所有插件的信息,包括名称、版本、描述、入口文件等 -
将本地注册表添加到 InPageEdit
在 InPageEdit 的插件设置中,添加以下注册表地址:http://localhost:1029/registry.v1.json这样你就可以直接在 InPageEdit 中加载和测试本地开发的插件,获得更好的开发体验。
-
实时更新
- 修改插件代码后,刷新页面即可看到最新的插件列表
- 添加新插件或修改
package.json后,注册表会自动更新 - 无需重启开发服务器
提示:
- 开发服务器会直接使用
src/目录下的源文件,而不是dist/目录下的构建产物,方便实时调试。- 建议在
package.json的$ipe.dev_loader中明确指定开发环境的入口文件和样式文件,避免路径猜测可能产生的问题。详见下方的插件配置。
pnpm run build此命令会:
- 构建所有插件
- 生成插件注册表 (
dist/registry.v1.json) - 复制静态资源到
dist目录
pnpm run clean- 使用
pnpm run new创建新插件 - 在
packages/[plugin-name]/src/中编写插件代码 - 在
packages/[plugin-name]/package.json中配置插件信息 - 运行
pnpm run build构建插件
在插件开发中,尽量不要使用路径别名,否则全局开发服务器可能会无法正确解析插件路径。
目前模板项目和开发服务器都预设了以下别名:
~~:common/目录@:packages/[plugin-name]/src/目录
如果你想使用其他别名,可能需要自行配置打包器选项,这些别名在全局开发服务器不可用。
每个插件的 package.json 需要包含以下字段:
{
"name": "@inpageedit/plugin-name",
"version": "1.0.0",
"description": "插件描述",
"author": "作者名称",
"license": "MIT",
"$ipe": {
"name": "插件显示名称",
"description": "插件详细描述",
"categories": ["category1", "category2"],
"loader": {
"kind": "module",
"entry": "dist/index.mjs",
"styles": ["dist/style.css"],
"main_export": "default"
},
"dev_loader": {
"entry": "src/index.ts",
"styles": ["src/style.scss"]
}
}
}提示:项目已在
.vscode/settings.json中配置了 JSON Schema,在 VS Code 中编辑packages/*/package.json时会自动启用$ipe字段的智能提示和验证功能。Schema 定义位于registry-templates/v1/ipe-package.schema.v1.json。
-
loader:生产环境的加载器配置(必需)kind: 加载器类型,可选值:'module'、'umd'、'autoload'、'styles'entry: 入口文件路径(相对于插件根目录)styles: 样式文件路径数组(可选)main_export: 主导出名称(可选,默认'default')
-
dev_loader:开发环境的加载器配置(可选)entry: 开发环境的入口文件路径(通常是src/index.ts)styles: 开发环境的样式文件路径数组(通常是src/style.scss)
提示:配置
dev_loader可以避免开发服务器猜测入口文件,提供更准确的路径解析。如果不配置dev_loader,开发服务器会尝试:
- 从
loader配置推断源文件路径(如dist/index.js→src/index.ts)- 自动检测
src/目录下符合命名规则的文件(如index.ts、main.ts、style.scss等)
生成的 registry.v1.json 关键字段:
| 字段 | 说明 |
|---|---|
manifest_version |
模板/协议版本,目前为 1 |
name |
注册表名称 |
base_url |
资源基础路径(相对或绝对) |
last_modified |
最后构建时间(ISO 8601),替代旧的 updated_at |
packages |
插件数组 |
last_modified 在构建时由脚本自动写入,无需手动维护。旧字段 updated_at 已弃用。
本项目采用 MIT 许可证 - 详见 LICENSE 文件。