00:00
那接下来知道了这些以后,我们来到第二个就是去看这个用模块化规范怎么写,用块GS,我看一下这应该是访问好了。好,这个呢是require GS的一个官网,Javascript module。什么意思呢?一个JS的模块加载器。对不对?Load不是加载的意思吗?Loader加载器,哎,这是require JS的一个官网,这些东西大家应该要会看,Start一般来说表示的是快速入门。这没问题吧,Log呢,下载API,这通常来说就是我们一般要参考的东西。对,一般要参考的东西,这个家伙还是让他转的吧,太慢了,咱们也不能盯着他看啊。嗯,先让它转转好来,那这个时候呢,我把这个AMD的教程打开,我们到require GS这啊套路是一样的,这样说了下载这块GS其实呢,我已经给大家下载好了,大家看在哪放着free pair里面零四。
01:19
在这呢?其实我上来给大家介绍我那个压缩文件,解压完了以后,里面不是有个压缩包吗?那里面也有啊,我待会儿用,我直接从这拿,嗯,好。来我们现在我们当前这整一整,第一步记住了现在这个require GS是我要创建的一个项目了,我是不是应该是先去这整一个GS文件。在它的下面放一个lips文件,Libs大家知道什么意思吧?S是复数live,你通常看到这个文件里面放的是框架或者减库。是什么意思啊?
02:03
大家看我这是不是要求你放个require JS啊,那这个时候我就可以把这个拿过来,然后放到LIS下边。这就是块GS的。他的都行。写的乱七八糟的。好,关掉它,那接下来我们再去这创建一个modu文件来modus,我们表示的是要放置的模块,这没问题吧,然后呢,我再去这,哎,和刚才一样,我还是先给他一个AGS。这叫data service,这不是两个模块了吗?那接下来我们再指MT,这通常表示的是什么意思呢?哎,主文件又叫主模块。有时候能看到是MGS,有时候能看到是什么APPGS啊,然后在外面我是不是得去创建个index啊,但咱们这提前已经有了。
03:02
那接下来我们套路还是一样的东西啊,一样的东西就是在data service这。这把我们还是定义什么没有依赖的模块,你说可以独善其身的。这一把我们用的是require GS的语法,又叫AMD语法,定义文化用什么来着?我们刚是不是介绍过就用DeFine,它是一个方法,因为你当前的模块不需要依赖于其他的模块,所以我们在这直接是传1FUNCTION式。在这里面写let name等于比如说这一次还是叫data塔。好,接下来我们来一个函数function,哎,那这一把你比如说函数叫get name,好里面的东西一样。RET2 return的什么内,哎,这一把就不一样了,那在这我们是不是要去暴露模块?
04:05
之前你没有任何规范的时候,你向外暴露只能是什么,通过Windows这种方式吧,那现在暴露模块与模块有它自己的语法,用什么来着?用return呢,所以呢,我现在应该写的是return呢,我这样写,看看大家能不能懂。其实和你之前的Windows上面添加属性是一样的。我现在是不是直接暴露的模,这个接口是一个对象啊,对象里面是不是给它放置一个方法。好,这是哎,Data service,那我们再来到aler GS里面。定义有依赖的模块啊,好还是DeFine,那这个时候几个参数。
05:05
你没有依赖的时候是不是一个参数啊,有依赖的时候,第一个参数是一个数组,在这个里边我们要放置的是要依赖的模块吧,我们现在是不是要依赖于这个。哎,Data service模块接下来第二个参数。不要忘了一件事情,它是一个回调,那这个时候你是不是在在这声明行参。但是呢,建议大家是否和它对应比较好,别人一看就能懂,你写个叉叉叉,很有可能里边人还看不懂,没问题吧,那在这里面我们先来写你自己的东西,那乘一个message,我呢,让它等于个哎a.GS。然后来一个function,这来个show message console log message,然后。我国是不是应该是data.get呀?
06:03
接下来我们要考虑的是。什么暴露模块?这些套路就是一样的,是不是用在这呢?通常暴露的话,大家都会暴露的一个对象,因为对象里面可以包括多个数据,你如果说单一报一个函数的话,你是不是有局限性。好,在这里面我是不是应该放一个show message?那这两个模块有了,最终我们是不是要汇集到主模块。主模块引入的话,我们刚才说了是不是有这块。来,我现在给大家看一个东西。API诶过来了,你看我现在所在是不是API下面好往下往下往下看。就是这告警这块,这个看着在这引入,我是想说明这个你有时候能看到这个GS。就是用这块GS来引入,后边你看其实它这写的有点多,这不是一个数组吗?数组里面放的就是引入的模块,而第二个参数是不是这个函数,有没有看到解块瑞这个。
07:08
嗯,那我这应该是这样写,通常来说大家在引入的时候,也是主模块外层会套一个什么立即执行函数。安全一点嘛,因为他现在不需要去定义模块内部的东西了。而在这我们应该写的其实就是什么这一部分,然后我们在这自己写写吧。Require,它官网上是不是这个啊,那在这里面传几个参数呢。第一个里边放着什么依赖的模块,这一版我问答我应该放水。一样的道理,你是吧?首先我能想到的是,拉特肯定要拿过来。但是data service我们需要引入到那吗?
08:00
Data是谁在依赖,是不是a lotr在依赖啊,依赖关系它会自己去找,那这个时候我们是不是应该是在这去身为一个行三。看他来一个show message直接一个什么调用。没问题吧?但是这个时候我们呢,需要还需要暴露吗?不需要了,你现在你已经是主主文件了,最上面最顶层那个了。没问题吧,好,那光有这些还不够。不够,你只是在那儿引入了对吧,再来看官网上这都有说明,往他的头顶上看,这一堆我拿过来,咱们在这儿看吧。乍一看,好像很多东西,其实注释比代码多。干嘛杀了他?我来给大家讲,你看上面这一步,一看这块GS.config什么意思呢?
09:04
我是不是要去配置啊,病是一个方法,就是针对你当前这个哎文件进行配置。都配置哪些东西呢?Base URL,我先把它注掉,Base URL你们自己能不能想到是什么?贝字是什么意思啊?基本的把URL呢。我们认识当中是地址,其实它可以指指什么路径。基本的路径。路径,这没问题吧,那这个pass答案应该是啥?这是不是就是去配置什么。路径的。好,我现在说一下我为什么要加这些东西。那我们刚刚no ad的时候,我最终引入的时候,这是不是三个都得引入啊。
10:01
这样的话,依赖关系也不能错啊,你得自己手动去引入。而一旦用了require JS,也就AMD这种模块化规范的时候,我页面最终只引入一个文件。是哪个文件呢?我最终肯定要找的是主文件。其他的模块不用你去引入了。他会去找。那么他找的时候,他是不是当前只能看到一个主模块啊。那这个时候我找这两个文件怎么找了,你是不是得提前告诉我。你得告诉我去哪儿找,哎,不知道大家有没有注意,你比如说就拿data service和说。我说了要依赖于这个模块,然后我是不是直接在这写了个data service啊,你凭什么知道这个这个模块就是它呢?我现在的模块名字不是说就是我的这个GS文件的名字,记住了,我这写个叉叉叉都行。
11:08
但是你现在叉叉是叉,叉叉是不是想代表这个模块,那么我这个是名模块的名字,你必须要给我映射一个路径。我得找到这个文件,这样说大家能懂吗?能懂了以后,好,那我们来写一下,为什么是S呢?是因为你得很有可能是不是有多种模块。比如说我这刚开始,哎,有个贝塔。什么service啊,我这不是给他起个名字就叫它吗?你的模块名字叫他。也就是说,当我的主模块我加载完读到这儿的时候一看说,诶,这有个模块名叫data service,它会立马去干嘛。去读这个配置。这不是模块名吗?我得看看,你告诉我,我得去你当前的项目,你是去你的本地去哪找这个文件。
12:04
那我们在这儿是不是需要设一个路径?怎么写,大家看。幂的线编码当前路径下的。S下面。是不是他?这强调一个小细节,我们一般直接拿过来,是不是这有个后缀点GS啊,在这儿不要加。先把它删了,待会儿告诉你们为什么不能加。接下来还有什么,是不是有个A这个模块啊,Modules下边。就够了,不要加个后缀名。大家能理解吗?这个路径应该是没问题吧。好,那有了这些配置以后,那接下来我们要去设置一些东西了,在这儿你是不是得引入一个入口文件,入口文件呢,它官方文档上也交了。
13:02
就是这一句,你直接拿过来,你一看就能懂。我说过,在JS里面只有script的文件。只有一个的话,我是不是只发一次请求就OK了,你看一下啊,这个块GS,这很明显是src,这告诉我们要去找这个库吧。这有背景上是因为跟我们的路径不匹配,我应该是找GS下边。我们是不是有个例子,下面来才能找到它,好,这个只是引入我规范的库了,那我的主文件在哪去找呢?你看着啊,当你去引入它的时候,它这有一个属性叫什么叫塔。也就是说我上来是不是先加载的是src这个文件啊。只要这个文件发挥作用了,它会立马告诉你去看一个的属性,这个里面指向的就是我们当前的主模块。
14:04
懂我的意思吗?那这个时候我们是不是不能用它,咱们是不是叫命。没问题吧,来。是不是出来了,哎,是出来了,你比如说啊,比如说我把这个data我注掉一个,大家看我这是不是少了一个啊,那这个时候我们来预结一下。看,这肯定是指向的是他。对不对?Needed by a什么意思啊?是吧,被俄罗斯所依赖。呃,你找不到,所以你必须在这去映射一个路径。没问题吧?好,那这样的话,我们还还有那种说GS就是没有用任何规范里边,我在引入的时候去操心这些问题吗。
15:05
不用了,你提前把这个配置配置好是不是就OK了。现在来给大家说一个问题,我这个贝斯UR是不是一直没用过啊,看着我如果说把它打开。我如果把它打开的话,我们现在就不能这样写了,我先告诉大家这个应该怎么写,我就写了它。我就写个GS,你来看一下,我刷新一下是不是还是好的,那咱们来看一下用它,我不用它是不是刚刚也是好的。我先看一个东西。我不用上面这个base URL这个配置的时候,我问一下大家,咱们找这个路径是站在谁的角度上去找。是不是站在我当前的MGS的角度出发,去找到了这两个文件?那你看我刚刚把这个打开了,我想问一下,我站在谁的角度上去找。
16:02
不是站在,相当于是站在根目录下。你想这个base URL,这个GS最终要和它拼起来的。意思是什么?先看base URL,哎,先找到GS目录在它下边,我再去看谁呢?一个一个去拼接上和他对接,懂我的意思吗?这不就先找到GS下边modus下边的这些文件吗?那也是,如果说你一旦用它,相当于你的出发点在哪?在哪?在根目录下因为什么?这其实前面相当于省略了个什么。识别这个加法。当前路径当前路径不是根目录了吗?能懂吗?好,出发点在哎根木路线。如果说不用它是不是从当前这个命令出发,这是我们需要知道的一些小细节,接下来我再给大家说一个,就是说这个我刚刚是不是强调了一下,不要加这个点GS啊。
17:12
那按理来说加一个无所谓的,那我给他加一个。刷新一下,你们帮我找找看,错误在哪报的。把别出了问题了,你自己能不能发现。咱们同学有一个习惯,一看到这种飘了一长串红就慌了,就自己不看。哪有问题,看这。他在找这个data塔service候,现在它上面找一个data service.gs.gs呀,这肯定找不到。那也就是说,哎,对,就是默认加了一个。它默认是不是会给我们加一个后缀,也说点GSR,而且它没有那么智能,如果说你加上了他,不管,他还要再加一次,所以我们就只能,哎,退让一步,咱们不加。
18:05
能理解吗?好,这个呢,就是呃,Require GS的一些东西。
我来说两句