DCloud_UNI_CHB
DCloud_UNI_CHB
  • 发布:2018-12-25 19:29
  • 更新:3 天前
  • 阅读:62182

DCloud插件开发指南汇总

分类:uni-app

DCloud有活跃的插件市场,https://ext.dcloud.net.cn/,并提供了变现、评价等机制。
欢迎开发者为插件市场提供插件。
优秀的插件作者,可以做到月入好几万。

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

  • 前端建议使用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 等文件

uni-app前端模板

vue/nvue 页面模板

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

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

Tips:

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

uni-app前端项目模板

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

  • 项目模板打包时不需要包含 unpackage 目录;
  • 项目模板打包时需要包含 manifest.json 文件。manifest.json 里不允许有 appid,包括 DCloud appid 或微信等三方 appid;
  • 如果模板中包含 uniCloud 相关的云函数目录,如 cloudfunctions-aliyun、cloudfunctions-tcb,请选择“uniCloud”->“前后一体项目模板”。如果不使用云函数功能,则应该从插件包中删除 cloudfunctions 相关目录。

JS SDK

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

Tips:

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

原生SDK

原生SDK,即uni原生插件,需使用Andorid/iOS原生环境开发实现,请参考以下教程:

压缩包格式要求:打开zip后根目录需为插件id目录,二级目录是ios、android子目录及package.json,详情参考uni原生插件包格式

uniCloud

云函数模板

云函数模板对文件命名没有特殊要求,但制作插件压缩包时,需要注意以下几点:

  • 当模板中包含一个或多个云函数时,应使用 cloudfunctions-aliyun、cloudfunctions-tcb 作为根目录(这两个目录也可以同时存在)。此时插件包中也可以包含 db_init.json;
  • 当模板中只包含一个云函数时,可以使用云函数命名的目录作为根目录;
  • 云函数有效的入口文件为 index.js,插件包中必须包含至少一个以此命名的文件。
  • 涉及账户管理的话,建议使用uni-id

前后一体项目模板

与uni-app前端项目模板目录结构基本一致,但是必须包含云函数相关目录(cloudfunctions-aliyun、cloudfunctions-tcb)

HBuilderX插件

HBuilderX插件是安装在HBuilderX工具里的。开发教程见:http://hx.dcloud.net.cn/

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

6 关注 分享
虫雪浓 admin@liaosongfa.com sonicsunsky@qq.com lazywe@163.com 无赖君子 hxb0801@126.com

要回复文章请先登录注册

DCloud_UNI_CHB

DCloud_UNI_CHB (作者)

回复 lisiurday@gmail.com :
可以将zip包发布到 service@dcloud.io,并提供下QQ号,我们验证后工程师和您联系。
3 天前
lisiurday@gmail.com

lisiurday@gmail.com

回复 DCloud_UNI_CHB :
我也遇到一样的问题,需要把包发给您排查下吗
2020-07-03 14:48
lisiurday@gmail.com

lisiurday@gmail.com

回复 lyflyyvip@163.com :
我也是,明明存在,报不存在
2020-07-03 14:44
ezshine@live.cn

ezshine@live.cn

没看懂怎么发布收费插件呀
2020-06-25 16:40
xlf-summer@qq.com

xlf-summer@qq.com

希望可以支持接口提交和发布插件,这样可以把发布动作集成在 CI 里
2020-06-19 09:19
1076217653@qq.com

1076217653@qq.com

unicloud教程查看视频:0基础学unicloud开发,跨端serverless技术
2020-06-07 16:45
lyflyyvip@163.com

lyflyyvip@163.com

卧槽 累死我了 废了整整两个小时的时间,终于 还是没提交上去插件,目录不存在
2020-05-06 18:30
sfwal@126.com

sfwal@126.com

发个插件,要不插件包指定目录不存在,要不就卡在正在保存动不了。。什么鬼
2020-04-23 10:07
xiaoyan421123@126.com

xiaoyan421123@126.com

uniapp+vue仿抖音短视频滑动效果|uniapp直播实例模板
https://www.cnblogs.com/xiaoyan2017/p/11835641.html
2020-04-11 18:02
小安迪

小安迪

* 插件包指定目录 components/littleandy-adcell 不存在
2019-12-03 16:49