00:00
好啊,接下来呢,同学们,我们来研究的是这样的啊,我们之前在开发logo的时候呢,往往我们不是直接写这个log,而是在写log的时候呢,同时给他传一些options,举个例子,比方说这样写。我们会在这写options对吧?那么接下来我们需求呢,就是要去如何获取这个options里面选项,从而呢,No呢,根据这个选项去加载相应的配置啊,那么我们举个例子,我就随便传送数叫name Jack啊,那我现在我需求就是如何在LOAD3这个loader获取它对应的这个option里面的值,OK,那么来LO3在这里面呢,我们就会以去操作这个事了,那么要获取咱们这里面的lots的一些options呢,我们得引入一个扩中的一个函数啊,那么这个库呢,就叫做loader us啊,是来自于我们wepad,它呢为我们loader呢服务的一个啊,专门创建的一个一个工具函数库啊,其中这里面有个方法就叫get options,专门来获取这个选项的,获取选项好,那么这个选项呢,用法非常简单啊,它呢,只要调用,只要调用一下返回值,调用传一个Z传this返回值呢,就是我们想要的这个。
01:14
Load的一些options,所以呢,我在这里呢,可以就打印三三加上这options,我们一起来看一下。What?OK,我们看一下,那么这个库呢,当然PE是并没有自带的,所以我们需要下载啊,所以呢,咱们需要首先下载这个库啊,叫load YouTube。然后呢,就可以了,感D下达它,下达它之后呢,我们再去运行,我们就能记可能看到效果,NPS外派运行OK,那么在这里咱们看到它打印了个对象,对象里面name JA对吧?所以这个loader us呢,上面的这个方法get options就专门用来获取load的,上面的options配置好了,那么这里其实还有大家第二个问题,就是说options获取到了之后呢,对吧,他有可能用户啊,一个用户呢,填他可以随便填,可能填的是个非法的值,这样呢会导致我们将来的配置呢出问题,所以呢,我们往往需要验证这个options是否符合配置规范,所以呢,这里它还有一个库啊,叫做stemmer us啊,专门用来验证咱们的options是否符合规范的,其中呢,它有一个方法叫做valid,咱们的一个验证方法,那么要验证的话呢,你同同样的要指定一个验证规则啊验证规则,所以我们得指定一个验证规则,在这里面呢,定义一个文。
02:36
件叫stemmer文件啊,Stemmer address文件,那么这个文件呢,就是用来定义这个校验规则的一个文件,好OK,那么我们呢,可以去定义一下相应的内容啊来它呢是个dress文件,是个对象,对象呢有个属性叫type,指定的就是我们的整个options的一个类型,那么我们一般都是object是对象啊,代表我的options的类型是和对象,然后第二个属性呢,是properties属性啊,翻译过来的属性,对吧?代表我这options可以允许有哪些属性,而咱们呢,不是有属性叫name吗?对吧?Name,那么name代表我有属性name,那么通过type来指定这个name属性的一个类型,那么是string类型,就是string,然后呢,还可以通过一个description添加一个描述啊,Description提了个描述,那么描述在这里你就可以随便写了,比如说这是这是啊,这是姓名,这是名称嘛,名称啊就随便写一。
03:36
啊,那么描述的就是描述一下这个字段代表什么含义啊,它还有一个字段啊,叫additional呢,Practice,那么这个呢,Additional practice呢,就是代表啊,允不允许再追加一些其他属性,那么为true的话,就是可以追加为for,也不会追加,那我假设它的值位处啊好,这个呢,Ski dress之后呢,我们在这里把这个skimer dress给引进来,就叫skimer啊,那么这个呢,就是我们校验的options的一个规则,对吧?好,那么接下来我们进行校验啊,这里呢,我们写的注释啊,这里面其实是获取some not。
04:20
对吧,接下来呢,我们获取之后打印了一下,然后接下来校验options是否合法。啊,是否合法,OK,那么我们通过value去校验,Value呢,接受这几个参数啊,第一个呢,就是我们要校验的规则,就是这个scheme,第二个呢,就是我们要校验的那个内容,就是那个options,所以传options,第三个是个对象啊,对象里面调我们当前load的名字,这样呢,它校验如果失败了,就会提示相应loader出了什么样的错误啊,所以我们提示load名字,咱们load呢是LOADER3啊,都是三,OK,那么这个呢,就是我们校验啊,它校验成功呢,会接着往下走,校易失败呢,会退出这个外pad,从而爆出相应的错误啊,所以我们来看一下我啊,那么现在呢,我校验显然是OK的,因为我这个ski里面呢,填了是只有一个names的,它的类型为string啊,同时呢,我这个LOT3OPTIONS里面name也是string类型,所以这时候运型啊是没有问题的,它没有报错啊,没有报错好,那么我们想报错的话呢,很简单啊,把它改一下类型呗,比如说改成布尔指出,那么这时候我们再运行。
05:32
那么这时候就可他报错了啊,这里就报错了,他说呢啊校验失败对吧,非法的配置对象说这个LOG3啊,有一个东西呢有问题啊,有个东西问题,然后东西呢,就是这个name呢,必须是个字符串啊,它呢提示呢是个名称啊名称,所以这样呢,用户呢就一眼知道,诶遇到我这里错了啊,我应该是个字符串类型,所以就能看得清楚了,所以呢,我们要给他一些校验提示,OK,那么我们还改回来就叫这个这那么这里还有选项,还是看一下additional property代表处是允许追加属性,所以我们再在这个教研的规则上呢,再加一个属性,比如说age为18啊,随便写一个啊,那么再运行呢是没问题的啊,因为呢,它追加属性是可以的,所以是啊,B是successful没问题,但是如一旦我调为false,那就不好意思啊,False呢就是我意味着我的属性呢,只能是name,不能是其值,所以我现在添加了个H属性,那不好意思一运行它又会报错啊,他说这个配置呢,有一个不。
06:32
真实的属性就是这个age啊,他说哪些属性是合法的呢?就这个name是合法的,这是为什么我们在写派的时候,在写一些东西的时候,一旦要出现写单词写错,诶就会出现报错啊,就这个当然呢,我们这里呢,就可以追加,就是数啊,不可以追加,就false这个呢,就看你自己了。好了,那么这以上呢,就是两个东西,两个库啊,一个呢是用来获取options选项的一个库,一个呢是用来校验options是否符合规范的一个货,那么这两个库呢,通常来讲是会一起用的啊,我获取到options中呢,下一步呢,肯定要对它进行校验,验证它是否合法,这样呢,我使用起来才比较安心好了,那么这里面呢,就是一些options,一些处理。
我来说两句