00:00
好,来,我们接着上课,上一节课呢,我们是实现了哎,图书列表的功能。呃,那这节课呢,我们主要是去实现这个搜索图书的功能,那在做这个功能之前呢,我先给大家简单的介绍一下这个功能,来,来到我写好的这个项目里面。我们看一下啊,上来呢,这有个输入框,然后呢,我随便输入一些关键字,比如说RA看一回车,诶,那下边呢,就能得到一些书的内容啊,其实本意我是这样设计的,当我在这儿拿到用户说的内容以后,我会把这个关键字作为参数发送给豆瓣,为我们提供了一个开放的API接口,哎,它呢会自动根据这个关键字的参数呢,搜索对应的图书列表,然后返给我,我来负责展现,那现在呢,因为豆瓣图书啊提供的API呢不能用了,所以呢,这个时候我们可以自己去搭一个服务器,重点的是去练习一下前后端通信,那这个时候前端获取到用户的参数,发送给我们自己的服务器,由服务器来响应下边的数据,那这个数据呢,大家已经不陌生了,哎,这个呢是什么呀,是我们一直在用的那个。
01:21
写死的,哎,也是我们本地的数据,但这一次呢,是要要有什么前后端交互的。那我们这节课的重点是什么?咱们先去转战到后端啊,这节课呢,我们是去搭搭一个服务器,好来到我们当前的项目,那要搭服务器呢,我还是在我们当前项目的根目录下去创建一个文件夹,我叫它啊艾特硅谷下划线server,那这个文件夹呢,作为我们服务器的根目录。然后呢,我会利用POA这个框架去搭我们的啊note GS的服务器,那这个时候呢,呃,大家想一下,我们要用QA的话,第一步是不是得下载QA这些框架。
02:10
那要下载一个包的时候呢,啊,大家一定要注意啊,你最好是先去创建一个文件叫package点杰森,那这个派杰森是干嘛的呢?可能有同学经常说经常见没仔细的去关注它呢,相对相当于我们当前项目的一个说明书,哎,说明书在这里面呢,有一个它是一个对象,有两个必须的属性,一个叫name,我这叫它I硅谷server,嗯,那这个name起名字大家要注意,不能有中文,不能有大写,而且你这起的名字一定不能和你接下来要下载的第三方帮的名字一样,否则的话肯定会出错。然后呢,还有一个必须的属性叫worseson,啊,这个呢,对应的是版本号,在这呢,我大概给大家解释一下,为什么这两个属性是必须的属性。
03:08
首先你想你写一个项目,哎,写一个包,是不是有可能把这个包发布,那发布了以后,别人要是觉得你这个包比较好,他是不是有可能下载下来他来用啊,哎,那我们平时咱们安装一个包是如何安装的呢?NPM,然后install对吧,后边跟的什么就是包名,那这个包名呢,其实指的就是你当前这个项目的名称,哎,如果说你没有内蒙,那么也就是意味着你没有报名,别人也就无法下载。那这样的话,你这个包的意义就不存在了,同样的道理,Version为什么是必须属性的,我们在下载包的时候,咱是不是有时候要艾特一个版本号呀,啊,而且呢,你在开发一个项目的时候,你的项目很有可能要不断的迭代更新,那迭代的同时,我们项目的版本号也是会一直会变化的,所以呢,Wson它也是版本。
04:13
呃,哎,也是什么,也是必须的一个属性,好有了这个根基以后呢,我们接下来来到命令行来把当前的项目对应的这个,呃,命令行窗口打开,我们去安装一下对应的包啊n PM install啊,QA以及QA router,这个是用来搭建路由的,好,这边装上,我们这边呢去下载去创建一个文件啊,就叫我就叫它server.js,这个呢是我们搭建呃服务器的核心文件,那下载了以后呢,我们第一步一定是去先引入这个Q,对require在这呢,来把这个报名写上,还有一个就是刚下的KA,嗯,Router,然后呢,哎,Require,来把对应的方面呢也填进来,KOA,嗯,Router,好,下载完这两个以后的。
05:13
这个套路其实有很多是固定的,第一步干嘛啊,生成应用哎及我们路由器。实例来cost一个APP等于new一个QA,嗯,这是应用的实例,然后还有一个cost一个,哎,Router等于一个QA routetter好,那这样的话实例生成完了,第二步我们要干嘛呢?哎,使用路由器,呃,路由器及对应的路由APP,哎,点use在这儿呢,固定套路router.roots这一步是声明使用路由。
06:06
还有一步呢,就是我们还得继续写一个,哎,点user,那这呢叫router,点有个叫lo methods啊,那这个呢,也给它缩进一下啊,我们格式统一一点,在这呢是允许使用路由的方法,那第三步啊,我们去接听什么端口好在这呢,app.listen啊,我们接听一个常用的3000,然后呢,给它整一个对应的回调去输出一下啊服务器,嗯,启动成功啊,很多的项目呢,在启动服务器的同时呢,会输出服务器的地址,方便人们查看HTB,呃,Local host,我们当前的端口号是3000,好写完这些以后呢,我们就要去写我们核心的代码了,那这个核心的。
07:07
代码这一块来核心代码,那就是注册路由,我们先写一个测试的接口啊,Get一个项目的跟路径啊,跟路径的路由地址,然后呢,大家可以回想一下,可能有的同学熟悉X express X express之前在这是什么?Re EQ res next对吧?那在我们QA里面呢,是不需要这两个的啊,Re EQ代表的是request re EF呢是response,一个是请求的参数对象,一个是响应的参数对象。对吧,在K里面这两个合二为一叫ctx由它来啊,这是上下文对象,由它来代表它们两个,取代他俩,好,那在我们路由里面其实也分为三步啊,第一步干嘛?哎,获取请求的。
08:02
参数,那第二步呢啊,就是根据那根据啊请求的地址和参数啊。干嘛呀,去处理数据,那第三步无非我就是响应响应数据,OK,因为现在我们是一个测试的接口啊,前两步没有,所以呢,我在这直接去响应一下数据啊,这个呢,应该叫响应啊。嗯,响应在这儿呢,统一用什么ctx body这个格式是固定的,那我这写一个响应字符串啊,服务器返回的数据,好写完这些以后呢,我们就可以尝试着去启动一下服务器,来看一下note server。
09:00
大家看是不是启动成功了,然后呢,去访问一下这个地址,哎,我们已经能看到服务器是不是返回数据了,说明我们当前的服务器已经搭建成功了。啊,已经搭建成功了,那这节课呢,我们就先讲到这里,好,我把视频停一下。
我来说两句