# 创建插件项目

小程序的 AppID 可以创建小程序插件项目,插件是独立于小程序之外的,但是 AppID 是公用的,所以不要使用原有的小程序项目进行插件开发。 在创建项目页面,选择一个空文件夹作为项目路径,可以选择创建小程序插件快速启动模板

快速启动模板说明:

  1. miniprogram 文件夹是一个普通小程序项目,用来编写小程序插件的使用 Demo,上传插件代码时这个 Demo 会一起上传,并作为小程序插件的发布的审核依据.

  2. plugin 文件就是小程序插件项目,用来编写小程序插件的代码。

  3. project.config.json 需要关注 compileType 字段,compileType == 'plugin' 时才能正常的使用插件项目。详情

小程序宿主 AppID:引用插件的小程序的 AppID

插件 AppID: 插件提供方的小程序 AppID

真机上不允许小程序引用自己的插件,默认使用你自己的测试号为宿主来引用插件。

1.05.2111051 及之前版本,在工具中开发插件时,小程序宿主 AppID 和 插件 AppID 为同一个;与真实的插件使用场景有所区别。

1.05.2111051 版本起,允许你改变小程序宿主 AppID(默认为你的测试号),以验证插件在不同宿主小程序下的表现。插件AppID:必填,对应 project.config.json 中 pluginAppid 字段。当宿主 AppID 与插件 AppID 相同时,真机预览将使用你的测试号作为宿主。

# 打开已存在的插件项目

如果是之前创建的插件项目,可以在项目列表中直接打开;

如果重新创建项目,选择一个非空目录,那么这个非空目录中需要有 project.config.json 详情,确保这个文件中有以下字段:

{
  "miniprogramRoot": "./miniprogram",
  "pluginRoot": "./plugin",
  "compileType": "plugin"
}

在项目开发期间,可以手动修改 project.config.json 文件的 compileType 字段来切换项目的编译类型。

# 插件上传

上传插件代码前,需要指定版本号,格式为 数字.数字.数字 ,每个数字最大为 999。

每次提交版本号需要递增,插件使用者会用到这个版本号,请谨慎填写。

上传插件时,同时会将 project.config.jsonminiprogramRoot 指定的目录的内容作为插件使用 Demo 一起上传,这个 Demo 需要覆盖到插件的所有使用场景,便于插件的审核

# 插件文档编写、预览和上传

插件文档必须放置在插件项目根目录中的 doc 目录下,插件文档的入口文件是 doc/README.md,在 README.md 中引用的图片必须是 doc 目录下的本地图片。

在开发者工具中编辑 README.md 后,在该文件上右键,弹出的菜单中可以选择 “上传文档”

# 插件使用

在小程序项目的 app.jsonplugins 字段中可以声明使用插件。如果当前的编译类型为小程序时,需要指定已发布的插件的版本号,开发者工具会根据版本号去拉取对应版本的插件进行编译。

只有在 project.config.jsoncompileType == 'plugin' 时,插件的版本号才能为 'dev'