uni-app+uniCloud 初体验

2,448 阅读4分钟

写在前面

最近公司不忙,抽空学习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