00:00
好了列位,那接下来啊,就跟客人来做一个小的一个测试,我们基于一个外部的模块,大家知道哈,不仅在本地开发中啊,就是在咱们前端开发中去使用,咱们也经常在咱们no的服务端去使用啊,因为这个模块它是前后端同构的啊,就是都可以去用的一个模块,那咱们基于这个模块也实现一种具体的业务,就是可能是这么想的,你现在做到了从小程序端直接来访问我们的server,类似提供的云函数这个服务,你成功的,那我在这个云函入中的话呢,大家可以这样去想。我们其实这个云函数部署完了呀,我们将来哈,在我们真正应用开发中,这个云函数作用是从咱们现有的几个现成的网站中来聚合数据的啊,我们这个网站是我们的A1网站啊,a1.com网站,我们还有一个什么A2点靠网站,那我们这个功能就是说从A1A2这两个网站中啊,把数据给揪出来,然后让我们这个云函数提供一个统一的接口给外部来访问,所以这个时候就要求咱们在serve类似的部署的这个云函数,它的职能就是负责在这里安设来请求这个外部的这个数据了啊,所以这也就是咱们所说的在服务端的一种应用啊,因为大家老觉得说GS就负责给前端呀,咱们提供这个数据啊,提供啊请求啊,响应就这么简单。但其实我们的no的环境本身部署完。
01:41
完了它也可以作为一个客户端朝别人来发请求,那发回来的请求得到的结果他在这里收集起来,再返回给咱们的前端,所以你将来想要做说从A12取数据,在最后合并,哎,不需要,你只需要来请求我给你写的这个云函数,云函数负责把数据给你收集起来就可以了,所以我们要打通我们的云函数跟其他服务器之间的这样一条通路,那这个时候我们用到的一个模块就是当然类似的模块,像什么request的模块啊,对吧,Super agent的模块都可以通过我们的node去取别的服务器上的数据可以的,但咱们现在甭管哪一个都属于我们依赖的一个第三方模块,诶,这个时候你会发现我们这个云函数的调用就会出现问题,这个写法上应该非常简单吧,那只需要科们在这里去引入导入,哎,应该用咱们的这个什么写法,差点丢人现眼对吧,咱们在这一。
02:41
可以用咱们的哈,Require,我们引入我们的安和设模块,但是另外你现在你就自己测一下,那你直接这样写完之后,你会发现一会咱们请求的会报错的,你看我现在给你来一个部署,咱们直接来一个request,你说这个模块,咱们这个云环境,难道人家是神仙吗?自己给你算出来了吗?没有,你最后你测试你会发现怎么样呀,他会告诉你,诶这个是参数的问题,咱们把这个参数换成正常的啊,这个看一下这次报的这个是什么错啊,测试重新测一遍,你列我也可以看一下,诶我这个参数的话,我已经给它重新的给他做好了呀,怎么这里还是报这个错误,重新的刷新一下这个页面啊,反正咱们代码啊都已经保存好了,这个没有关系哈,重新刷新一下页面之后啊,此时引入了安哈,咱们在这里来重新的点击这个测试,大家可以看一下这次测试的结果是can。
03:41
放的猫叫列位可以看见啊,虽然这边断行了,但是我能看到这个错误是不能发现模块X,你看这就正常了,也就是咱们现在想让我们的云函数用X用呃request的用其他的一些模块用不了,人家不是神仙也算不出来啊,所以这就是一个最大的一个问题了,那咱们怎么去做呀,这一块呀,诶这就要依赖于我们的是吧,在线安装你看啊,我给你做一下测试啊,你现在在这里的话呢,你选择这个上传方式,你选择这种在线安装,这种依赖,你选择这个部署的时候,对外它难道是算命的吗?他直接算出来了,说哎哟,这里面啊有个an格S,他要分析你的代码呀,他怎么那么聪明能分析出你的代码呢,他分析不出来,所以这种写法的话呢,也不好用,那这个时候呢,有人就说了,哥们啊,我可是做了nude开发的人啊,你可不要蒙我啊,我。
04:41
做弄E开发的话呢,都要去引入一个什么package.g文件,那里面记录着我们的开发依赖,我们的生产依赖的,所以我把那个文件我创建出来就可以的,你看这个人的思路就很明确是吧,他在这里说这个拍个点进谁能默写出来嘛,我我反正是默写不出来哈,所以Q在这里就怎么去做呀,我通过诶在这个文件夹下,咱们的零四啊这里好可新建一个文件夹,咱们在这里新建一个我们的test的一文件夹,在test的一文件夹中,客在这里,此处打开我们的窗口,我们通过NPM以内呢,我创建一个呗,我背不过我可以在这里创建好一个拍点G这样一个关键,诶创建好之后呢,我在这里面再安装一个安它不就把这个安,这个记录就标识在我们的pack.gc中了吗?那此时我。
05:41
这个pack.jason的作用来列伟,咱们可以打开,诶,我VS库的好像没有开,没关系哈,咱们可以打开这个,嗯,我们先看一眼。应用中。我们。通过记事本吧,好了,先看一眼哈,这里面这个格式的话呢,是吧,哎,X0.26版本的已经标识好了,咱们现在就把这段代码列为,诶,我怎么又得来一遍,哎呀,太讨厌了,好了,把它ctrl a ctrl c,我给它复制出来,然后在咱们这个地方的话呢,我给它怎么样呀,新建一个文件,诶加过来代码之后,咱们来一个package PA kade,点文件创建好了,你看他那是不是这个思路很明确啊,就是我一捆请求发现没有安装这个模块啊,我让他什么在线安装依赖还是怎么去搞,他都是发现不了,找不到这个模块,因为他不会分析这段代码,但是他会分析你的pack这段代码呀,哎,里面有依赖,那这样来说的话,我们在这里进行一次啊在线安装依赖,你看看测试一下,你看看列外。
06:55
好不好用啊,最后啊,咱们运行完了啊,咱们一会儿点击这个测试功能好了,我看看啊录的猫叫文件夹呀,已经生成的挺好,咱们点击这个什么呀测试,另外可以看一下此时这一个什么呀,测试的话它就成功了,你看看这种在线依赖的方法是不是很方便呀,很巧妙呀,诶这就是咱们这种啊在线依赖安装法,那这样安个说既然不报错呢,客们咱们再把这个过程给你走下去,那就在这里的话,你可以实施咱们的这个什么安装了,就是我们在这里要用的功能是a wait啊,因为这是a think wait用法嘛,Wait咱们anxious.get咱们这样啊去请求一个猫眼一个小接口啊,当然这个网站肯定是科眼之前已经非常熟悉了的,你那我也可以找一个你的那个接口啊,咱们就这冒充说,我们假说就是从其他网站啊,收集过来的一个数据啊,在这里,因为咱们。
07:55
那当时这张图是这么画的吗?我要在这里来取别的网站的数据,在我serve类中聚合给我的小程序来去用,所以我就可以在这里哎找到找到咱们这个代码哈,在这里这个地址,嗯,这样的话我们return回来,结果咱们这样把res.data返回出去,来列位,现在哈,你没法在这块立即测试哈,咱们在测试之前吧啊,咱们来呃,自己看一眼是不是这就表示等我打印完了这几个log之后没啥用,我们会等着啊a weight嘛啊会让咱们的函数的话呢,终止中断执行啊会等着我们请求完猫眼接口返回来的数据,咱们把最终的这个数据哎,Return数去了,所以这个接口返回值就是猫眼接口的返回值了,诶,这是咱们的云函数,来测试一下吧,步数,并且测试咱们来看一下最终这个测试的结果是什么呀,现在正在更新之中,哎,一会儿的话呢,就能看到我们的结果了。
08:55
咱们稍等一会儿,你数个12345,课文老师啊,他会跳舞,诶,只不过这是部数啊,怎么这么慢呢?这次啊,咱们稍等一下。
09:05
你数个24678呀,各位老铁呀,咱们笑哈哈,如果你实在等不到的情况下,列位我就奉劝你一句啊,重新刷新一下这个页面就好了啊,你会在线测试它有时候很慢是吧,你会发现最终这个结果,哎呀居然成功了是不是,那这样的话咱们重新的,因为这个触发器咱们也没有改变的,触发器这个地址咱们没改它嘛,所以你刷新这个页面就能得到咱们,诶返回的这个数据,我成功的列位啊,这就是我对于云函数中啊,咱们去安装了一次什么呀,依赖啊,我们通过这个安装好了,并且请求为了数据,所以我把这个地址直接copy到我的这一个,这个地址来了话呢,我们可以看一下这个结果啊啊,地址没变啊,直接通过小程序啊,咱们重新请求一遍就可以了,有没有拿回来我们真正的猫眼,哎,这些数据啊,咱们很明显是已经成功。
10:06
功的恋外是不是啊,这就是我们这种有依赖的情况下,咱们俩是怎么给做的小程序这一块,而这一块啊,我要多说一嘴哈,就是如果列位你在这里哈,你选择的是啥呀,你这次选的这个环境是16:13的这个环境,列位可以看到它的这个变辑器界面啊,它确实稍微的哈,有那么一点呃,Low这么一点点啊,而在这里咱们上传方式还要选择在线依赖啊,所以它这个地方一个是比较简洁,你也切不到新版中啊,这块咱们也不知道腾讯是怎么去设计的,反正可经过测试之后啊发现的,你只需要在这个地方啊,正式切之前我先把这个代码咱们稍作备份和保存,我把这个代码CTRLC我给它备份保存一下,然后通过我的Vs code的呀,我给他打开VSO啊找到我的Vs code的嗯。
11:03
我把它给备个份儿啊,一会儿我还得粘贴复制一下呢,来,这是一块代码,然后咱们再把它的pack.j我也给它备个份儿,然后在这个地方呢,我也新建一个文件好了,备份完了啊,然后接下来咱们给你换一个环境啊,就是有人可能会发现说,诶这个16:13是最新版的,但是用不了最新版的编辑器,就很奇怪是吧,咱们新建一个也一样,再来测试一个嘛,还是从头开始,但还是事件函数里面都是基于Jason的啊,传输的啊,你请求过来了,带过来是Jason,我返回过去的是Jason格式的,好,咱们还是它,然后get user2这一块换了个名字,然后这一次啊,你把这个环境你给我选成哪个环境呢?12:16 node的12:16啊,就在这里啊,12:16啊,弄的十字都不行,还得12:16这个版本的,然后接下来的话呢,在线编辑器你不用管的啊,不用管不用管,这些都不用管,最后点击一个完成接下来。
12:04
你会发现你只要选取的是咱们这一个在线编辑器,呃,我们这一个路的环境,你会发现此时这一块的这个代码的话,诶,它启用的话就是咱们的新版编辑器了,很奇怪啊,在这个设置啊,但是在这里的话呀,你还可以再切换成旧版的编辑器去做,那现在的话呢,你要是看到这个界面的话,你就知道我们弄的环境选择12:16才会有的,而这个时候你会把代码也一样的烂,咱们给它剪过来啊,可想说这种啊,都一样的,Ctrl a ctrl c,你拿过来删掉它粘过来对吧,这是咱们的这个GS文件,然后你也一样的在这里,你看跟咱们的VSC录太像了吧,Age点二好,新建完了之后,把package Jason的代码ctrl a ctrl c,咱们给它粘过来保存,说哦,那接下来部署一样吗?看到们部署在这里注意的哈,这一块有一个自动安装依赖,你给它点一下,它变成打开的状态下,它才会自动的给你。
13:04
生成那个弄猫叫,因为咱们这里会基于它这个依赖要进行什么呀,呃,使用它,所以你要自动生成这种依赖,在线安装依赖呀,诶只不过变成了这种点一下就可以了,所以你也可以进行这个测试啊,最后测完之后咱们也能够成功的把数据给拿回来,诶那接下来触发器的流程的话呢,就跟刚才的流程是一样的了,列位也可以在这里,对吧?诶去测试一下,点击这个触发器,也选择咱们的API网关,使用现有服务,选择咱们的第一个吧,然后在这里不要启用集成响应,点击提交之后啊,你会发现这个效果呀,跟刚才的一样,只不过在这个环境下,您能够使用咱们腾讯云的这个语音编辑器的最新版啊,Get user2啊,是最新的这一个啊,所以在这里,哎,就这两个小接口来,一个get user,一个get user22个小接口是不是超。
14:04
理简单啊,基于运行环境不同啊,他们俩的话呢,启用的编辑器是不一样的,好了这是他俩,那接下来咱们还得来创建啊,因为咱们刚才所说的那个分支那一块,咱们演示的说还是基于事件这一个函数的,那课文刚才演示的是环境的不同,那接下来咱们再演示代码呢,这个是在线呢,还是本地上传的这一块啊,也就是我们现在是在本地啊,提前写好代码,因为这好像挺符合咱们开发流程的,我在本地先写完在上传上去,而不是用在线编辑器来去做,那这块怎么做呢?来跟客户来测试一下啊,咱们在这里来选用我们的这个get,哎,USER3,哎,重新起一个还是试件函数啊,这次录de环境,咱们还是选这个用启用最新版的背景器的录de12:16这个环境,这次代码的话,只不过是在咱们。
15:04
啊,本地的列外一会儿上传本地文件夹,那咱们来看一下文,把这个代码保存在本地外,CTRLS,我给它保存到我的E盘下面的一杠科文,我们的云直播中啊,我们的材料这一个里面来,好,我们在这里啊,咱们新建一个文件夹,咱们叫这个什么TEST2文件夹啊,因为test的一当时是我做t.Jason生成的演示的,咱们不用管它了,好了,在TEST2中,咱们把这个文件给它起个名字吧,叫什么呀?叫我们的ab.GS叫index.gs都可以的哈,index.gs好了,我们保存完了,然后再把这个文件咱们给它保存一下,叫什么叫package.json pa.jason文件保存完了,OK,两个文件都已经有了吧。好了,接下来咱们开始怎么样呀来。
16:04
前面这些地方大家都知道怎么选的,这次咱们选择一个本地文件夹,你可以这样认为,我在本地做完了测试,但是在本地好像这个测试也不太好做,为啥下,因为咱们这种事件函数的话呢,它需要什么呀,另外可以看一下它是不是这种呢?啊是一个回调函数的这种用法,它就不如这种web函数好测试啊,所以你可以认为我们在本地编辑啊,在比你写代码多快呀,还有代码提示的,但我写完了之后,我传上来测试行吧,诶在这里点击这个文件夹,诶找一个哪个文件夹呀,是不是在咱们的这个material中,这里面test,诶就把这个文件夹上传上来,你在上传的时候呢,你可以怎么样呀,你在上传之前,你把它依赖的些模块在本地下载完,也就是说他在这里,你可以让我们这个依赖了这些模现在不是没有吗?你提前的在本地下载好哎,在上传CNPM,它依赖那个。
17:04
X,那个模块你就把模块提前在本地你的下载好了,那这样的话呢,我们再上传的来选中哪一个呀,来找到我们的这个文件夹,还是它里面已经有很多依赖的模块已经下载好了,他说会上传这60个文件,点击上传,我跟你说以前腾讯云它不支持在线安装,它只支持本地安装完在上传这些依赖包啊,所以你现在也就是活在新时代,很简单吧,诶直接上传完了就压缩完啊,然后接下来在这一块的话,有一个高级配置这一块列外,你可以看一下这个地方啊,我们一会儿默认启动的话,这个描述你可以随便写一写,这个描述选择哪个命名空间,咱们现在就选择的是在test的下面来创建呢,好,接下来我们就可以在这个触发器配置,不用管它,点击这个完成。
18:00
好,等了一会儿咱们就会发现这个文件呀,就成功的也就部署好了,点击立即跳转,来来到这里,大家可以看此时这里的这个函数代码中呀,它是不是直接就已经是咱们完整的所有的代码都在这里面了呀,哎,我们可以来体验一下,测试一下,来点击这个测试,咱们来请求一下,看看这次成功,那么好像很成功的样子,对吧,也一样的,来一个触发器,创建一个触发器,那咱们在这选择a epi网关业务服务,还是用刚才这个服务把这个集成响应给它关掉,点击提交,那最终啊,就这东西啊,它就已经发布到我们一个公网的这样一个地址下,我们可以直接访问到,我们把这个地址拿回来之后,在咱们小程序上请求是不是没问题吧,改成这个get user3这一块啊,咱们来看一下。好了,最后来跟客人一起来测试一下,点击之后有没有数据给请求回来成功了没有,很明显还是之前那些数据我还是成功了,对吧?OK,大家可以看一下,这就是科目,刚才呀,基于这几种情况一共呀,我们基于我们创建的时候来安装的这种叫事件函数,反正是要按照严格Jason来去做的这种东西吧,它是前后啊,传过来也是在Jason啊,返回也是Jason,而且在本地测试也比较麻烦啊,所以我们这种事件函数的话呢,在我们外部场景中可能用的不是太多,但是它可以触发的事件机制非常多啊,所以我们接下来项目用它或用它都行啊。但是世上函数中咱们就开始分开来说了,你看我是新环境的老环境有什么区别,就是能启用的语音编辑器啊,它不一样啊,有的是新编辑器,有的是老版本编辑器,而这个代码中的话,你可以在本地写完了传上来,把所有的依赖包都传上来。你也可以在。
19:58
件编辑完,然后在线安装依赖包是不是都可以呀?啊最后别忘了一定要生成咱们的触发器,都是API网关才可以来运行的,好,这就是咱们的事件函数,那下一小节咱们来看一下我们的web函数该怎么去创建它是不是在本地端更好的能够做测试呀,好,咱们下一小节来看一下。
我来说两句