00:00
接下来呢,我们进入实战环节,我们以前面学过的compeler compilation这些东西,包括plug这些内容,去实战一个plug,那么我们想定义的呢,叫copy外plug,那么这插件的作用呢,就是负责将某一些文件夹下面的文件复制到一些指定文件夹中,举个例子啊,比如说大家在view的C里面见过一些配置,其中呢,这里面就用了这个copy plug这个插件的意思呢,就是会将public里面的资源复制到这个地址下去啊,然后呢,漏呢,就是负责忽略一些我们哪些文件不需要去啊复制的,所以呢,我们也想使用这种方式,那就定义一个类似于它的一个插件。好,那么下面我们来,那么我呢,再新建一些资源啊,新建一个资源叫public。那么我需求呢,就是希望将public里面的资源呢,复制到第三个路下,那么新建一个index ma资源,那么indexma资源呢,一般来讲呢,我们是不会进行复制的,为什么呢?因为我们将下来会有那个HL为F拉,它呢会去复制这个indexma,然后输入到diss去,所以呢,我们在复制的时候呢,往往要忽略掉这个in,所以我创建in的目的呢,就是为了我们后面复制的时候要想办法忽略它,然后我在建一个别的文件,比如说叫CS。
01:27
那么里面写啥内容都无所谓啊,其实主要的目的呢,我们是要看咱们的资源呢能不能被复制过去,所以我随便写的东西,所以好了,接下来我们的需求就是我们希望写一个插件,将public的力资源,除了ex表的以外资源呢复制到这个D怎么的下去,对吧,那我们看怎么办,下面呢,我们就在它里面去定义一个这的插件叫copype,好,那么这插件呢,未来呢会在外派con VI JS中使用,所以我们先用一下它copy OK。
02:12
那么逻辑OK啊,没有写错,T,好,那么接下来呢,这个插件CTRLC在这里呢,要调用一下。好了,那么这插件呢,就被六掉了,下面我们就按时间插件,当然时间之前呢,我们就知道在这里面呢,必然要创些参数,因为你要复制的目录呢,你要指定给他,比如说from from呢就是我们要指定给他,告诉他从哪个目录开始,从public里面开始,To呢,就是要去哪里,默认呢,我们希望是点,点呢代表就是那个输出目啊,如果呢,你不写就是点啊,那么所以我们可以不传,如果你希望在D子目录下面再新建个文件夹,那就会输入to的路径,那么后面我们来看怎么做,最后呢,我们还需要一个赢诺啊忽略对吧,我们会允许它忽略一些指定的文件,比如说忽略这个inex h,好,那么忽略了这样写呢,它是好,我们先这样写啊,就是忽略代表忽略in应该C嘛,我们后面再改啊。
03:20
OK,那么下面呢,我们就来进入到这个插件中,我们去开发这个插件,好,下面我们就主要是定义这个插件了,其他的我们就不用管了,Class copy外拍。然后呢,把它暴露出去。OK,那么我们去定义个方法叫cons啊,插件呢,肯定当我去new调用它的时候会调用这new调的时候呢,我会传一些对象,那对象呢,就会在这里接触到options,所以啊,不同于load的插件的option呢,是在控里面接触到的,那么我们呢,一般来讲就初始化为控制下面,对吧?那么为了将来所有地方都可以用,我们必然要添加到this上,为了让将来呢,所有地方都可以使用这个options,所以贴到this上好了,那么options呢,同样的用户呢,贴啊传入的时候呢,可能会出现一些非法的操作,对吧?所以呢,我们也可以去验证一下啊,验证咱们的options是否符合规范。
04:29
那么这里面呢,用的一个库呢,其实就是我们之前那个库啊叫ski。OK,那么那上面呢,会有一个方法叫。好,那这样这个库呢,我们需要下载一下,诶诶STEM us啊,它上面有个方法叫OK,那么这个方法呢,就能验证,那么验证的时候呢,我们同样要定一个一个scheme options。
05:16
我们定一个STEM Jason啊,那么做法呢,其实一样的,定一个type类型啊,它呢是一个object。OK,要把它变成双引号好,然后它上面的一些属性properties properties。好,那么也说对象啊,在这里面呢,我们有哪些属性呢?有from啊from from的类型呢是string。Three类型,OK,那么还有two two two的类型呢?也是three类型。
06:00
还有那个一诺参数,那么它也是一个type string类型。那么我们还有一个呢?Prop。那么为false就不允许新增啊,一些内容不允许新增,OK,那么我们定义的这个STEM了,OK,那么把STEM引进来。例如STEM Jason啊,那么我们通过value这个方法去验证校验它,看是否符合规范,那么首先呢,传入我们要校验的这个规则啊,Scheme,第二个呢,传入我们要验证的这个options options,那么第三个呢,传入一个插件的名字啊,Name对吧,Copypad发啊,就这个插件变成了。
07:01
好了,那么验证完之后呢,如果没有问题啊,我们就添加到options上去,好,接下来呢,定义方法,那么插件内部的和第二种方法,然后将我们必要的一个东西compare。给我们传进来,OK,那么所以我们第一个派方法在compile里面呢,去干活啊去干活,我们的目的呢,是将啊咱们的PA下面的文件呢,复制到我们的这个地层目,所以我们要把输出的资源呢添加一些内容,所以做法呢,其实跟我们之前呢是一样的,我们要通过compile了,注册一个钩子,在以某一个生命周期函数中去做干活,那么这个生命周期函数呢,就是在我们初始化compile的时候去做的,所以在compile呢,点whose OK,我们来看啊,那么定义我们想要的这个钩子,This comp。点ta那么注册这个钩子,好这里呢,我们可以拿到我们插件名。
08:02
然后呢,跟着一个回调函数,在回调函数里面呢,我们得到我们的。得到foundation,在这里面就能得到,好这个钩子呢,我们还是写一下,就是初始化这个combination。初始化combination的钩子好在这里面呢,我们要添加资源,所以我们要去要去绑定一个钩子函数啊,就是呢在添加资源,在添加资源触发的多次函数。那么这个构函数呢在comp上面,Comp呢,点whose。它上面呢,会有个钩子叫做呢additional。好,那么它呢,是一个异步串行钩子,我们think就好了。
09:04
或者这个插件名呢,靠外派不答应,然后呢,后面呢去去干活啊,那么介绍一个CB作为参数,靠back呗,对吧,那么我们在这里面呢,想办法去做干活啊,那么我们还是要做个活,我们要做的事呢,我们要写一下,我们目的是将from中的资源复制道复下面输出去。那么这里面我们就其实要做两件事,第一个就是读取from中所有资源,对吧,所以我们要测试这第一件是读取from中的所有资源,然后呢,把这个资源呢要转换成。啊,读取所有资源的时候呢,其实这里还要过滤。啊,过滤掉要忽略的文件对吧,然后呢,第三步呢,我们过滤掉忽略的文件之后呢,我们要生成啊WiFi格式。
10:12
的资源啊,资源文件,然后最后呢,再输出出去,在听得到听得到comp中。大致上呢,我们就要做这些事啊,做这些事好了,那么这一章点呢,我们就先看到这这里面呢,我们定义那个非常基本的一个这样的一个啊,啊这个插件啊,那么这插件呢,我们也去教明了它一些内容,那么我们义好了我们接下来开发的一些基本步骤,那么下节课我们再来把后面的给完成掉。
我来说两句