00:00
看,那今天呢,是我们项目开发第一天啊,第一天写的东西并不多,大家一定要跟上来啊,我们来看一下。那首先第一个点呢,是项目开发的准备,在这个准备里面有三个重要的部分啊,我觉得大家整体过一下,具体的大家去看一下。啊,一个是项目描述,要知道从哪些方面去描述你的项目,第二个是关于技术选型,也就是说你项目的整体技术有哪些。嗯,一定要知道,我们先是有一个整体的分类,有哪些方面的技术。再一个就是关于API接口、接口文档以及测试接口相关概念的理解。我们说API接口包含几个组成部分。四个四个组成部分对吧,有三个请求的U啊,请求方式以及什么请求参数的格式对吧,还有一个第四个是什么响应数据的格式。啊,重新下屏是吧,行。
01:03
好了吗?那没好的话,可能你没连上。你去找旁边,旁边坐着看一下。好,那第二个呢,是我们准备好以后,我们下面就要去启动项目的开发,那首先啊,需要去用脚手架去创建项目吧,那创建好项目以后,其实这个项目是不是已经安装了所有依赖的呀。那我们下一步很自然的是不是就可以进行开发环境的运行了,那我要问大家这个运行它打包了吗。嗯。那没有打包运行的是看那你程序浏览器运行的是源码文件。是不是啊,打包了,他是在现在内存上打包,只是没有生成本地的打包文件。能听到吧?啊,我们开发运行它是先在内存中啊,对项目进行打包,生成内存中的打包文件,接着启动服务器运行,它并不会去生成本地的打包文件,听懂吗?好,那下面生产环境打包是什么意思?它也是先在内存中生成打包文件,接着就去生成本地的打包文件,说白了就是保存。
02:22
他有启动服务器吗?没有,所以我们是不是要另外通过命令来启动服务器,运行我的本地打包文件?啊,这个要搞清楚啊,行没问题。嗯,接着呢,有了项目以后,我们是不是要对我们的项目进行版本控制啊,这里面有一些,大家不要一上来就拼命的去命令,我先要知道我有哪些操作,很简单,创建远程仓库,创建本地仓库,这是第二个操作,接着将本地仓库推送到什么远程,当然一个操作可能会对应好几个子操作,或者好几个mini,听懂吧。
03:02
好,后面还有什么呢。后面是我,对于我来说是不可能修改本地代码去推送,但对于我们真正开发应用来说,先会做一件事情,在创建一个什么。默认是不是有个max分支。我们是不是在创建一个第一位分支,或者其他民族的分支,把这个第一分支也推送到什么远程?会怎么做吧,会好,接着我们后面修改代码在哪修改。D分子修改完了之后要推送到什么?是不是远程的DV,当然是对应的分支,是不是这能听懂不,那后面我们基本上啊,就做这样的事情,还有一个事情啊,做了一定的功能,或者一定的时候,我们可以做一个什么合并的操作啊,今天我们做了,明天我们做一个合并的操作,看看怎么做,那对于你们来说,或者对于公司的新员工来说,你进了公司。这些事情你现在不做,你上来做什么?
04:03
先要克隆,不是拉。是先要去克隆代码中的克隆仓库。啊,那克隆仓库之后啊,是不是就得到了项目,对不对啊,如果其他同事又提交了,又推送了,那你要什么,你是不是要破。就拉去是不是能听懂吧,也就对于我们现在模式,我是不是经常会去push,而你基本上做什么。这能懂吧,当然这些操作大家应该是你们的项目应该也操作一下,那基本上两个方面操作你都体验了。啊。好,这是这一个小事情啊,需要注意,这里面我就一个去说了,大家自己看一下,这里面整体都已经跟大家说的很清楚了。好,那管理好以后,下面我们要去创建项目的基本结构,就是源码的基本结构。啊,首先肯定要有一个入口TS吧。
05:01
嗯,啊,需要去定义一个应用的根组件吧?当然我们同时是不是准备了几个文件夹?一个pages用来存放什么路由组件,一个component用来存放什么非路由组件?一个API用来存放什么和Jack请求相关的模块代码?当我们现在这个写了吗?还没写,那我们今天是不是把界面已经搞好了,那明天我们是不是要去想办法跟后台交互了,那要后台交互是不是要去写API接口相关的东西啊,明天我们就要去写这方面的啊。好,那准备好基本的以后,下面我们要分别去引入ald来组建界面,以及引入路由来去实现啊,我们的路由的一个跳转啊组织结构好,先来看一下阿D,首先我们肯定要去下载阿D的包吧,这个没问题,那下载这个包其实就可以用了,是不是只是说啊,它会自动打包所有的GSCSS。
06:06
听懂不,而且你还必须引入。所有的CSS对吧,它的整个CS需要引入。那这个时候我们需要去实现一个什么按需打包,按需打包实际上是根据import引入的组件去打包它所对应的GS以及什么CSS,那这里面我们是不是要下载它的一些工具包?并且去做一个配置嘛,写一个单独的配置,这个名字不要写错了。啊,有同学有可能会出现前面有一个空格,或者把这个杠写成点的,也有可能或者把单词写出来,也可能记住一点复制拷贝啊,你别说老师我就想写,我就想锻炼我的能力。最后单定结果了,整错整错了,最后最后主要是吧,你下次还看不出来,你这找那找最找那找最后一个同学给你指一下,嗯,就这几个问题。
07:00
那你是当时是很很不爽是不是啊,其实这种配置性的东西跟我们编码不一样,我们代我们自己写功能代码肯定要一点一点自己写。能听到不做一些环境的配置啊,能去从文档上拷贝的就去文档上拷贝啊,这个一点都不丢人啊。好,还有一个事情要注意,这个pon阶面是不是要改这个命令P,注意啊,Pon阶里面需要去改这个命令,如果你没有改,因为原来用的是这个mini。听懂了吧,如果你没有改,那你的配置文件。就白写了,那就会有效果吗?不会,那反过来说,你改了以后,但不创建配置文件就会报错。为什么呢?很简单,因为他会去找这个文件,但发现什么你没有,那他不提示你,那他就有点有点不太厚道了。能懂吧,所以有时候啊,你运行的东西,它提示你啊,有什么错误,你不要太太太觉得啊,对他产生很大的一种气氛的感觉,其实是一个好的提示啊,如果运行出了啥提示没有,那其实其实你就很难看出来。
08:16
啊,这个要注意啊。好,现在我们还实现了一个什么,是不是自定义主题?那自定义主题呢,我们首先还是要去下载它相应的工具包啊,也就是说它需要下载lights以及。干嘛呢?是要去编译文件。而且我们的应用里面也应该用ne去写啊,好配置文件要做一些修改啊,具体怎么改大家自己得去看文档啊,最后呢,我们使用阿法D相关的组件,是不是可以去写一个按钮,并且有一个全局的提示,都可以实现嘛,都可以实现好,后面呢,我们去引入路由,首先在干嘛?下载这个路由器的包吧。啊,我们是不是要去拆分应用的一级路由,得到了两个路由组件,一个是log,一个什么命,那接着定义组件以后是不是映射成路由。
09:12
是不是通过它来映射吧,有两个属性要配一个pass一个什么。的,这个很好理解,因为我们一个路由就是pass跟是不得对应关系啊。嗯,好,当然也需要这两个,这个是在说明什么。说白了,我虽然说配置,我说配置两个,但我当前只匹配什么其中一个。是谓不切换的意思吗?而这一个最外层需要有个什么?路由器,也就是说外层不写路由器行吗?不行,你至少有一个路由器里面才能写路由,后面就不用再写路由器了,路由器只需要一个。能听懂吧,啊没问题,那后面呢,是去写我们的login的静态组件,你就写出界面来,当整体,我们外面是不是都是自己写的一些不一样式啊。
10:07
其实没多大难度吧,基本的对不对啊,一些基本的,但中间的部分,我们这个部分还是需要我们自己用上我们安D里面的什么组件。Form组件form组件显示界面倒很轻松,对不对?就是有form还用到哪些组件?这里面还用到了什么,除了里面是不是I了,这是什么是I,那这个呢。是什么?是不是input的吧?啊的,最下面是个什么?But,这能看出来吧,人啊。OK,好,那用他们去写一个基本的界面效果倒是没什么,主要后面我们要做两个事情,一个叫收集表单数据,一个叫什么表单的前台验证。
11:01
做这个事情依赖于一个对象来帮我做,哪个对象,一个小写的什么和我对象关键,我的组件里面如何得到父母对象呢?是不是我我是不是写了一个login组件,我的login组件里面是不是要实现这两个功能了,是不是要去得到form对象啊它。我们得到的方式怎么搞的呀,是不是用一个我们的高阶组件给包装一下呀,说白了用哪个那个高阶组件怎么产生呢?是不是这么产生的。Form点什么create,你翻译过来就是通过form来创建一个什么高阶组件,是不是来包装,是不是我们包含表单的组件。最后我们渲染的是不是这一个组件标签?听懂不也就是说这个地方一定要注意一下,看好了什么个意思啊。
12:01
就这意思,我们这里面写的log,那你说我向外暴露了。我像外包人,是他吗?明显不是。是谁呢?是这个是不是,是包装后的那个啊,我们高级组件包装后的那个组件是不是,当然这个组件里面包含了谁。包含罗那我们渲染这个标签,实际上这个标签是不是也会渲染。能听到不,那你说我们最终还是能看到登录的界面是不是啊?但这样包装的作用是什么?为什么要对它包装,是为了给他传一个什么属性,Form属性,这样我在log里面是不是可以取到form?能听到不啊,那我在里面如何取到那个表达式,怎么写this.pro点吧。真的不,因为是通过标签属性是不是传过去的啊,所以啊,他我们这边是可以去取的。
13:04
刚才我们说过了,这里面涉及到两个技术啊,一个叫高阶函数,一个叫什么高阶组件,那高阶函数和高阶组件的理解,这个一定要有一定理解,交流的时候,那你多少要能够交流一些相关的一些知识。啊,你能交流他们和不能交流,那这个地方你不能交流的这个东西呢,可能也不算特别严重,因为这个东西呢,可能会稍微觉得难度大一点,或者说比较高级一点的知识。但是能交流肯定好很多,听懂了吧,啊好,这个里面呢,我就不一个去跟大家强调的,这个是大家需要必须要知道的东西啊,高阶组件与高阶函数。好,那我们最后去操作表单是不是都通过form来操作的啊,操作表单数据可以去,首先要想去得到表单数据里面表单项的一些数据,必须先要对表单项你这个标签进行一个包装嘛,而包装的方法是个form对象提供的。
14:08
有这么一个方法,而且他要指定标识名称,我们指定的一个配置,配置里面配的什么。后面我是不是配了一个是规则的数组啊,验证规则的数组其实还可以配这个东西。Value什么意思?Value什么意思,初始值,比如说啊,我希望我一上来就显示就输的是额的me,我不想输入的me,每次咱不说过了吗?咱的默认的那个用户是不是就额的me,额的me。我密码我就不自动输了,我想自己输用户名,我想自动显示,我该怎么做啊。啊,非常的简单,就是在我去写它的时候看好了,我刚才不配了一个ruler吗?我再配置一个以你小白钮等于什么好的密,那我的这一个界面就默认九的密码,那我就不用输了,我只需要输密码就可以听懂我这意思吧,啊主要通过这个例子来说明啊,这个配置的作用是指定什么?
15:15
是不是初始值,这个能懂吧,能懂啊,这个应该是好懂的。好,还有一个事情啊,我们除了去数据还有一个事情是不是进行前台表的验证,但前台表证有这么几个方向,第一个叫声明,是实时表的验证,什么意思呢?首先我们是声明验证是不是写他的。使用它的一些什么,这个东西叫什么规则验证规则,对吧,使用内置验证规则是不是进行验证。而且这个验证的效果什么时候体现,就是我在我输的过程中。是不是它就会验证了啊好,那下面还有一种叫自定义表达验证。
16:01
叫智力表单,那也就是说我是不是得亲自去判断这个值到底合不合法了,嗯。啊,这叫自定义表单验证,还有一个验证的时机啊,这个验证也是在输入的过程中进行验证的。还有一个验证的时机是什么呢?我点击这个登录按钮,是不是也要验证一下。你说老师为什么呀,用户有没有可能部署直接点。可能也有可能吧,你不能说此时就不验证了吧,是不是啊,这个需要去知道,我们是必须得验证的,对不对啊,所以这个form对象呢,它有一个方法叫va fields什么意思,对我们所有的表单项的数据进行什么。统一的验证对吧,那就每一个表达项是不是都会验证啊,那如果验证失败了,这个就有值是不是,如果验证没有失败,是不是就没有值啊,那没有值这个value是不是存储的就是我所有输入的数据。
17:03
它是什么类型。对象,因为我每一个表单上是不是都有一个标识名称。能听到吧。嗯。这里面其实啊,看着好像列了很多啊,但实际上我们写代码的量没有多少,大家今天晚上一定要去写到我们这里来,如果已经写完了,那你可以啊,重新再来一遍,或者是啊往后写都行啊。
我来说两句