插件作者制作插件时,需注意以下几点:

  • 前端建议使用scss预处理并引用uni.scss中的变量定义,保持各插件风格统一,方便插件使用者通过搭积木的方式开发整体风格一致的App
  • 遵循插件目录规范,其中比较重要的是确定插件使用名称,详细解释下方。
  • 插件包中不需要包含 unpackage 目录
  • 插件包中不应该包含版本控制相关文件和目录,如 .git,.svn 等。

插件使用名称命名规范:

  1. 格式为:‘作者ID-插件名称’,示例:‘xiaoming-tag’,其中作者ID和插件名称只能包含英文、数字
  2. 作者ID由插件作者自定义,不能使用’DCloud’、'uni’等关键字,长度要求至少2位字符
  3. 插件名称需直观表达插件的作用,例如:tag、button等

前端组件

我们以小明开发的tag组件(插件使用名称为:xiaoming-tag)为例,上传插件市场时,目录结构要求如下:

android插件 uniapp 基座 uni插件开发_hbuilder


为保证代码简洁,上传插件时仅需包含必需的文件及目录。若组件依赖三方组件,则需将三方组件一起打包上传;假设"xiaoming-tag"依赖小红开发的icon组件(xiaohong-icon),则发布"xiaoming-tag"插件时,目录结构要求如下:

android插件 uniapp 基座 uni插件开发_uniapp_02


Tips:

  • 通用组件、nvue组件、目录结构要求相同
  • 小程序组件的一级目录,名字需从 components 变更为 wxcomponents ,其它结构要求相同
  • 不能包含根目录的 manifest.json、pages.json、App.vue、main.js 等文件

模板

1、vue/nvue 页面模板

我们以小明开发的设置模板(xiaoming-setting)为例,上传插件市场时,目录结构要求如下:

android插件 uniapp 基座 uni插件开发_uni_03


若页面模板依赖其它组件,则需将依赖组件一起打包;假设"xiaoming-setting"依赖小红开发的list组件(xiaohong-list),则发布"xiaoming-setting"页面模板时,目录结构要求如下:

android插件 uniapp 基座 uni插件开发_uni_04


Tips:

  • vue 页面模板和 nvue 页面模板目录结构要求相同。
  • 页面模板打包时需要包含 manifest.json、pages.json 等文件。

2、项目模板

项目模板无特殊要求,注意满足 uni-app 项目目录结构要求即可,详情
Tips:

  • 项目模板打包时不需要包含 unpackage 目录;
  • 项目模板打包时需要包含 manifest.json 文件。manifest.json 里不允许有 appid,包括 DCloud appid 或微信等三方 appid;

JS SDK

开发JS SDK时,对目录结构无特殊要求,仅需将js文件命名为插件使用名称即可,例如:xiaoming-md5.js。

Tips:

  • 不能包含根目录的 manifest.json、pages.json、App.vue、main.js 等文件

原生sdk

uni-app原生插件(native plugin)开发指南:https://ask.dcloud.net.cn/article/35428 Android开发参考:https://ask.dcloud.net.cn/article/35416 iOS开发参考:https://ask.dcloud.net.cn/article/35415 压缩包格式要求:打开zip后根目录需为插件id目录,二级目录是ios、android子目录及package.json。