小程序云开发和调试(二)|学习笔记

本文涉及的产品
简介: 快速学习小程序云开发和调试(二)

开发者学堂课程【小程序云开发速成 小程序云开发和调试(二)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/300/detail/3505


小程序云开发和调试(二)


四、云函数的部署

使用 alipaydev 命令部署

1、上传云函数

#上传云函数根目最下名为 getSum 的云函数

alipaydev cloud function deploy -n getSum -p /server/functions

#上传云函数根目录 下名为 aaa bbb 的云函 数

alipaydev cloud function deploy -n aaa bbb -p /server/ functions

2.参数

参数

必填

说明

默认值

 

i, -app-id

小程序appld

-S,-space-id

云服务空间ID

-n, --name

云函数名称,多个云函数则以空格分隔

p, project

云函数本地文件地址

 

3、克隆项目的脚手架

代码已写好,点击命令,改成自己需要的参数就可以部署云函数了显示出部署成功。

4、验证函数部署是否成功

点击云函数

image.png

之后点击 admin 的管理查看基本信息,看到发布时间最新,部署成功。为了验证是否部署成功,可以修改代码:注释掉 todo.js 中 res=await live.getList();

加入

res=[{

_id:1,

text:’假数据’

}]

然后部署测试空间,测试空间部署好后将小程序切换到测试空间。

image.png

出现假数据说明部署成功

此处使用 ts 去写或者使用一个脚手架而不是直接用原生的写是因为ts有很多优点,可以在云函数中依赖一些包比如 lodash 或者@hapi/joi 等其他的包,此时就会将所有代码打包成不同的云函数,部署时实际上就是部署打包编译后的代码。

比如新建一个云函数 demo.js,然后在 package.json 中增加该云函数 demo,随意复制 todo.ts 代码进入,然后点击测试空间 deploy:test-server 进行部署

部署成功后可以看到测试空间多出一个云函数

image.png


五、增、删、改常见案例在云函数里如何写代码

先切入到 local 环境,然后启动 inspect-server,将上面修改过注释掉的代码取消注释,删除新增加的代码。

1、取列表数据并展示

一般会写一个类 todo,将 todo.js 中的 live 改为 todo,todo 类有如下方法:

class Todo extends Context{

async getList(){

const{mpserverless}=this

const{result}=await mpserverless

.db

.collection(‘todo’)

.find()

return result || []

}

2、想要更新记录

async update(item){

const {mpserverless}=this

const{result}=await mpserverless

.db

.collection(‘todo’)

.updateOne{

_id:item._id

},{

$set:{

completed:item.completed

}

需要找到 id,然后编写 completed 状态,然后就可以在小程序上修改它的状态

3、只写一个云函数,通过调整参数实现不同的云函数服务

async getToDoList(){

const todoList=await invokeFunction({

name:’todo’,

url:’todo/list’

})

this.setData({todos:todoList})

比如想要修改一个状态:

await invokeFunction({

name:’todo’,

url:’todo/update’,

data:{

_id:id,

completed

}

}) 

id 表示需要修改的数据名

如果想要新增一条记录:

await invokeFunction({

name:’todo’,

url:’todo/create’,

data:{

text:this.data.inputValue,

completed:false,

}

})

拿到用户输入的值,然后去调用 todo 里的 create,这样就完成了一个云函数的修改和查询。

todolist 中没有删除的功能,所以不做删除演示。


六、总结

以上就是整个小程序的开发和调试技巧,即目前存在一个小程序,想要给给小程序增加 Serverless 能力,就可以按照此流程:

1、下载 CLI 工具

举例演示一些命令:

比如输入 alipaydev mini list

任意选择一个小程序,可以通过 alipaydev cloud space list 看到有多少空间,选择一个空间后再运行 alipaydev cloud function list 可以查看有哪些云函数

CLI 其实有一些配置,刚下载完成需要进行一些初始化配置

2、在项目里新建一个配置文件 mini.project.json,把客户端代码全部放入一个子文件夹里

{

“cloud”:{

“type”:”mpServerless”

},

“miniprogramRoot”:”client”,

“component2”:true

}

3、云函数本地测试

alipaydev cloud function dev -i 2021001136614025 -p functions/ --inspect

4、云函数脚手架

https://github.com/douzi8/mp-serverless

可以克隆或者下载在本地尝试小程序的调试或开发。要注意该 demo 克隆下来需要修改配置,修改成自己账户中的配置,就可以使用自己的小程序进行运行

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
2月前
|
JSON 小程序 数据安全/隐私保护
小程序动态调试-解密加密数据与签名校验
本文主要讲解微信小程序加密、验签的情况下如何进行动态调试已获取签名以及加密信息
|
5天前
|
小程序 Java 关系型数据库
基于Java微信小程序智能招聘平台设计和实现(源码+LW+调试文档+讲解等)
基于Java微信小程序智能招聘平台设计和实现(源码+LW+调试文档+讲解等)
23 11
|
5天前
|
小程序 Java 关系型数据库
基于Java微信小程序同城家政服务系统设计和实现(源码+LW+调试文档+讲解等)
基于Java微信小程序同城家政服务系统设计和实现(源码+LW+调试文档+讲解等)
|
5天前
|
小程序 Java 关系型数据库
基于Java微信小程序小说阅读系统设计和实现(源码+LW+调试文档+讲解等)
基于Java微信小程序小说阅读系统设计和实现(源码+LW+调试文档+讲解等)
|
5天前
|
小程序 安全 Java
基于Java微信小程序民宿短租系统设计和实现(源码+LW+调试文档+讲解等)
基于Java微信小程序民宿短租系统设计和实现(源码+LW+调试文档+讲解等)
基于Java微信小程序民宿短租系统设计和实现(源码+LW+调试文档+讲解等)
|
7天前
|
小程序 JavaScript Java
基于Java微信小程序火锅店点餐系统设计和实现(源码+LW+调试文档+讲解等)
基于Java微信小程序火锅店点餐系统设计和实现(源码+LW+调试文档+讲解等)
|
5天前
|
小程序
微信小程序学习笔记(入门篇)
微信小程序学习笔记(入门篇)
6 0
|
5天前
|
小程序 Java 关系型数据库
基于Java微信小程序自驾游拼团设计和实现(源码+LW+调试文档+讲解等)
基于Java微信小程序自驾游拼团设计和实现(源码+LW+调试文档+讲解等)
|
5天前
|
小程序 JavaScript Java
基于Java微信小程序校园自助打印系统设计和实现(源码+LW+调试文档+讲解等)
基于Java微信小程序校园自助打印系统设计和实现(源码+LW+调试文档+讲解等)
|
5天前
|
小程序 JavaScript Java
基于Java微信小程序火锅店点餐系统设计和实现(源码+LW+调试文档+讲解等)
基于Java微信小程序火锅店点餐系统设计和实现(源码+LW+调试文档+讲解等)