写在前面
最近公司不忙,抽空学习uni-app了解了下uniCloud 开发相关,感觉未来云开发是个不错的方向,uniCloud
是 DCloud 联合阿里云、腾讯云,为开发者提供的基于 serverless 模式和 js 编程的云开发平台。uniCloud
的 web控制台地址:unicloud.dcloud.net.cn
从HBuilderX 2.5.8起支持。阿里云、腾讯云均已开放注册使用。重点现在阿里云免费开放~~~
用到技术 uni-app uniCloud 如果各位读者没有了解uni-app 请到
uniapp.dcloud.io 官网学习及了解uniCloud
创建项目
hBuilderX 新建项目
一定要选择 启用uniCloud才可以哈
-
对于老的uni-app项目,也可以对项目点右键,菜单中选择“创建uniCloud云开发环境”
-
新建uni-app项目的模板中,有一个
Hello uniCloud
项目模板,演示了各种云函数的使用。uniCloud云开发环境创建成功后,项目根目录下会有一个带有云图标的特殊目录,名为“cloudfunctions”。(即便是cli创建的项目,云函数目录也在项目的根目录下,而不是src下)
非uni-app项目也可以通过使用云函数Url化来享受云函数的带来的便利。
创建和绑定服务空间
服务空间和手机端项目是多对多绑定关系。同账号下,一个项目可以关联到多个服务空间。一个服务空间也可以被多个项目访问。
- 在云函数目录
cloudfunctions
右键菜单创建服务空间(HBuilderX 3.0以上版本请在uniCloud目录右键),会打开web控制台unicloud.dcloud.net.cn 进行创建 - 创建好服务空间后,对目录
cloudfunctions
点右键(HBuilderX 3.0以上版本请在uniCloud目录右键),菜单中点击选择云服务空间
,绑定你之前创建的服务空间。 - 如果未进行实名认证,会跳转至实名认证页面进行实名认证,等待实名认证审核之后可以开通服务空间。若腾讯云实名认证提示身份证下已创建过多账户,则需要在腾讯云官网注销不用的账户。
- 创建服务空间可能需要几十秒的时间,可以在web控制台查看是否创建完成。
- 一个应用,可以在dev.dcloud.net.cn设置协作者(选择应用->设置项目成员),实现多人共同使用一个云服务空间。(需 HBuilderX 2.5.9+)需要注意的是目前协作者不可通过web控制台访问服务空间。
注:目前腾讯云仅提供一个服务空间。阿里云无限制
创建云函数
uniCloud
项目创建并绑定服务空间后,开发者可以在cloudfunctions
目录右键创建云函数(HBuilderX 3.0以上版本请在uniCloud/cloudfunctions
目录右键)。
创建后会以云函数名称为名生成一个特殊目录,该目录下自动生成index.js,是该云函数的入口文件,不可改名。如果该云函数还需要引入其他js,可在index.js入口文件中引用。
注意
- 不同项目使用同一个服务空间时,不可使用同名云函数,可以在uniCloud的web控制台手动删除重名云函数释放函数名。
- 在HBuilderX创建云函数时,如果新云函数与服务器上已存在同名云函数,会用新函数覆盖。
- 单个云函数大小限制为10M(包含node_modules)
编写云函数
云函数的语法,是在普通的Node.js基础上补充了uniCloud的专用API。可参考API开发文档编写,也可以直接新建项目时选择hello uniCloud
模板体验。
HBuilderX为uniCloud开发提供了良好的语法提示和转到定义支持,对于代码中的API,选中并按下F1,也可以直接查看相应的文档。
如下为一个云函数示例
编写云函数后,在项目管理器里右键点击该云函数的目录,在弹出菜单中可选择“本地运行云函数”、“上传部署云函数”、“上传并运行云函数”。
- 上传部署云函数:将云函数部署到uniCloud服务空间,不会运行。(快捷键Ctrl+u)
- 上传并运行云函数:先上传云函数,并在云端立即执行该云函数。在部署后同时运行,并打印日志出来。有延时,调试时不如本地运行云函数快捷。
- 本地运行云函数:在HBuilderX自带的node环境中运行选中的云函数。云函数连接的数据库和云存储,仍然在云端。(快捷键Ctrl+u)(从HBuilderX 2.8.1起支持)
- 客户端连接本地云函数:开启一个uniCloud本地服务,运行前端项目时在HBuilderX控制台可切换访问云端云函数还是本地云函数。(从HBuilderX 3.0.0起支持)
到此一个uniCloud 云开发项目就创建好了。是不是很方便
------------------------------------------------------------------------------------------------
参考资料 快速上手
童鞋们一起来happy的玩耍吧
O(∩_∩)O