DCloud_UNI_CHB
DCloud_UNI_CHB
  • 发布:2018-12-25 19:29
  • 更新:2019-05-31 08:42
  • 阅读:16057

uni-app插件开发指南汇总

分类:uni-app

uni-app有活跃的插件市场,https://ext.dcloud.net.cn/,日pv以万起,并提供了赞赏平台机制。
欢迎开发者为插件市场提供插件。

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

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

插件ID(原“插件使用名称”)命名规范:

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

前端组件

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

为保证代码简洁,上传插件时仅需包含必需的文件及目录。

若组件依赖三方组件,则需将三方组件一起打包上传;假设"xiaoming-tag"依赖小红开发的icon组件(xiaohong-icon),则发布"xiaoming-tag"插件时,目录结构要求如下:

Tips:

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

模板

vue/nvue 页面模板

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

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

Tips:

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

项目模板

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

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

JS SDK

开发JS SDK时,对目录结构无特殊要求,仅需将js文件命名为插件ID即可,例如: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。

注意压缩包为标准zip格式,不要把rar等其他格式改名为zip

4 关注 分享
meHaoTian admin@liaosongfa.com sonicsunsky@qq.com lazywe@163.com

要回复文章请先登录注册

DCloud_UNI_CHB

DCloud_UNI_CHB (作者)

回复 东子:
头像上加V的,是赞助过DCloud产品的开发人员 http://dev.dcloud.net.cn/sponsor/
2019-05-31 08:42
bingchen

bingchen

回复 东子:
实名认证
2019-05-31 08:24
东子

东子

那些加了V的作者是怎么认证的呢
2019-05-31 02:29
DCloud_iOS_XHY

DCloud_iOS_XHY

回复 867854800@qq.com:
请移步iOS开发文档 https://ask.dcloud.net.cn/article/35415
2019-04-29 19:03
867854800@qq.com

867854800@qq.com

ios 工程怎么样才能获得webView啊 是不支持吗 可以直接原生和js交互吗?
还是必须得通过这种插件的方式啊
2019-04-29 16:43
我吃柠檬

我吃柠檬

回复 我吃柠檬:
一直提示这个到底要怎么调整
2019-03-27 10:49
我吃柠檬

我吃柠檬

插件包指定目录 pages/hanguangchuan-tabber 不存在
插件包指定目录 static/hanguangchuan-tabber 不存在
插件压缩包格式不正确。详情参考:https://ask.dcloud.net.cn/article/35408
2019-03-27 10:48
DCloud_UNI_CHB

DCloud_UNI_CHB (作者)

回复 491459869@qq.com:
可以把你上传的zip包作为附件发到service@dcloud.io,我们排查一下
2019-02-20 10:31
491459869@qq.com

491459869@qq.com

mac 电脑一直提示这个,醉了

插件包指定目录 pages/potato-validcode 不存在
插件压缩包格式不正确。详情参考:https://ask.dcloud.net.cn/article/35408
2019-02-19 19:59
aoaobaba

aoaobaba

选择了小程序组件 目录要wxcomponents ....... 这里也不说明一下
2019-02-02 18:49
DCloud_UNI_CHB

DCloud_UNI_CHB (作者)

回复 新的一天:
插件使用名称需和目录结构保持一致,按照你的附件,i-calendar 实际上是不能作为插件使用名称的,格式为:'作者ID-插件名称',作者ID目前要求至少2位字符。
2019-01-07 15:12
lazywe@163.com

lazywe@163.com

尴尬
2019-01-04 18:55
余红杰

余红杰

回复 DCloud_UNI_CHB:
只有一个components的时候只需要压缩这个components文件,群里有人说了
2018-12-29 18:50
DCloud_UNI_CHB

DCloud_UNI_CHB (作者)

回复 余红杰:
你的目录看起来没问题,上传还有问题的话,可以把插件压缩包发邮件到service@dcloud.io,我们检查一下。
2018-12-29 17:10
余红杰

余红杰

插件压缩包格式不正确。详情参考:https://ask.dcloud.net.cn/article/35408
每次都提示。这片文章有问题吧?
hj-dragabledrawer.zip 下目录:
-components
--hj-dragabledrawer
---hj-dragabledrawer.vue
2018-12-29 13:04