00:00
下面呢,我们想完成这样一个楼。我们想给我们输出的这个load文件呢,加上一些作者信息。那么加上作者信息呢?接下来大家看到这个文件就知道啊,原来这个文件是某某人写的,我们希望加上这些信息,那么现在呢,我们输出的文件呢,是并没有任何信息的,他并不知道作者是谁。我们想加上,我们想做一个这样的来追加这些信息。好,下面我们来一起来看啊,怎么办?我们来定义一个load,加班。OK,他用来去处理这个事情,首先呢,我们也是第一个。同步的load,如果你没有异步操作的话,我们都考虑这个同步漏就好了。好了,它直接暴露一个函数,这个函数呢,就是我们那个搬的用法。那么这里面怎么做呢?我们可以先定一个我们要加的一个前缀啊,是这意思。
01:02
我们呢,通过一个模板字符串来写我们的这个内容。来。大概意思呢,我们在这里呢,需要加上一个作者信息,Author。对吧,比如作者是咱自己。我们希望呢,在我们输出的JS文件中能加上一个作者信息,这样的话呢,这样大家就知道这个文件是谁写的了,所以我加上一个注释啊,代表咱们的这个作者。好,那怎么办呢?那做法其实很简单啊,就是在我们文件内容的前面加上这个注释就好了,所以我们最终return的时候呢,只要想办法在这个通过CE啊。再追加咱们的这个作者信息,再追加这个文件内容信息就好了,那么我们内容就会在上面。呃,然后呢,你这个内容就在下面。当然呢,它拼串的时候呢,会拼在一起啊,拼在一起,但是因为我这里模板字串这里加了换行,所以它也自动的换行了。好了,那么我们接下来就来看效果,打包就会有相应的效果。
02:04
我们来处理。我们可以继续写load啊,它load呢,相同顺序的load呢,都属于no,它会从下到下执行,但是因为这两个load呢,没有功能上的冲突,所以他先执行哪个都可以啊。因为他只是清除看log,它是往前面追加,他们之间是不冲突的,所以都OK,我们再打包。好打包之后呢,我们能看这个魅Jess这里呢,就能看到我在这里追加了我这个,呃,咱们的这个注释信息的一个配置。好了,那么这就是追加一些信息啊,那么这个信息呢,这时候我们就提出需求啊。因为我不可能写着办mode的,只能追加我的名字,万一下来是张三开发,那么张三希望加张三的名字啊,李四希望加李四的名字对吧?所以我们希望追加的这个名字是可选项啊,或者说它是可配置项,我们能够去改变它的值。
03:00
那么改变它的时应该怎么设计呢?设计的方式应该是这样,我们应该在这里加一个option的选项,允许别人传这个作者名字啊,如果你传的是张三就是张三,李四就是李四,对吧?老王就是老王,我们希望我在这里传的作者名字,他将来就可以在我们的这个班的输出的时候就体现这个名字。好了,所以这里呢,我们给load呢,传递的一些选项。好了,那么load如何获取选项呢?诶,相信大家也应该知道了,前面我们讲过load上面呢,它通过this提供的一些方法,其中有个方法叫做get options。诶,他就可以去获取到咱们的load的这个options。那么在获取load options这里需要传一个STEM,也就是说我们需要传递一个对low options的一个验证规则。
04:01
这个验证规则怎么写呢?啊,这个验证规则。STEM,他要符合Jason STEM的规则。那么这STEM的规则长什么样子,我们来给大家演示一下,那么这里为了更好演示的话呢,我把这个load呢定义成一个文件夹。因为我们希望把这个内容的内东西呢放一起啊,就不要拆上来了。OK,那么这里面呢,我改成indexs。同时在这里面我们第一个STEM。好,它的这个规则呢,是这样写的啊,首先呢,我们整个options的类型是个对象,所以通过一个type。为object代表咱们的options这个选项啊,它是个对象类型。
05:00
好对象上有什么属性呢?通过properly。因为有多个属性,所以是practice来指定对象上有什么属性。我们对象就一个属性加。对吧,那么author它的类型又是多少,我们继续指定。通过type来指定它类型,它类型是个字符串,所以我们可以type为string代表的options是个对象,对象上有属性,叫author,它的类型是string。然后呢,我们上面又没有其他数据的啊,将来如果你有其他数据可继续加啊type为什么A啊,然后呢,Number啊什么的都可以布啊,都可以写啊,写法都是一样啊,它这个字符串的。那么我们,但是我们这里只能传奥,没有其他属性了,所以我们还可以再加一个一个字段啊叫呃声都。
06:01
那么这什么意思呢?Additional problems呢?就是是否允许再往上面追加属性,就是不能再追加属性了。都能在追加属性的,意思就是我们这个option里面只能有offer这个字段,如果你多一个,其他字段都会报错的。哎,待会我们可以验证啊。好,那么现在呢,我们就可以把这个STEM规则呢引进来。OK,引入了这个验证规则,那么get options的时候,他就会拿这个验证规则对咱们的option进行验证,验证通过就会返回options,验证失败的话,那么程序会直接报错。那么下面呢,我们就把这个验证成功的这个option里面的option在这里拼串,那么最终就可以得到效果了。好了,就这样的啊,那么我们这里呢,就要来看一下,应该没有错啊,这个点型上漏的,然后呢,传那个options老王,下面我们来看效果,重新打包。
07:07
OK,打包还是successful,这时候我们看mes啊,他的作者就是老王了。没有问题。好,那么这里呢,我们需要再处理一下,就是我们可以再尝试追加一些属性啊,比如说我们加个A啊,随便加一个属性H18,这时候我们再打包,诶,这时候就会发现一些问题。他就会报错了,报错呢,它会提示告诉你,首先哪个文件出错,是面jes出错了,是什么出错呢?是这个load班load出错了,他说非法的无效的一个option选项。No呢?它已经被初始化了,一个option的一个选项,里面只包含了一个author字段。并不认识你这个A方,所以就会报错,所以就是当我们调了这个additional problems为false,它就不能再新增啊。不能新增字段。
08:01
啊,不然会报错。当然呢,你如果这个数据类型不一致,那么也会出问题啊,我们假设调调为处,我们看一下效果。诶,他也会报错啊,因为它要求它的类型是three,但是你得到的是个不值,所以也会报错的,所以数据类型也必须要符合咱们的这个定义的要求。那么这样的话呢,我们在用的时候才不会出问题啊,那么这就是一个Jason STEM的规则,首先告诉我们整体它是个对象类型,对象上面的属性有一个author字段,它的类型是three,然后呢,你能不能再新增属性呢?不好意思,不行啊,就这样。这样的话呢,就可以对我们的options进行啊这个约束,从而保证呢,Options上的内容就是我们想要的内容。好了,这里呢,就是一个搬的漏的做法还是一样,就是往我们输出的内容中追加东西,那么就可以达到我们增加这个新新的内容。
09:02
同时追加的内容呢,我们可以通过options来配置,来通过船舱的方式来传递不同的内容。那么在load里面呢?要通过get options获取,那么获取的同时还需要通过一个STEM来对它内容进行约束。这样呢,才能保证万无一失。好了,那么以上呢,就是我们的ban的一个用法了。
我来说两句