00:00
好嘞,各位,咱们呢接着往下聊,刚才啊,咱们说到这儿了,就是把我写的组件放到了这个脚手架里,诶然后发现呢,它可以正常的运行效果,在这儿也没报什么错误,那这一小节呢,咱们来关注这个人,就是m.GS中的这个render配置项,这个配置项呢,是我们从来都没有接触过的,那这样啊,咱们对比一下,跟谁对比呢?大家回想我们在真正使用脚手架之前,我在给你讲那个单文件组件怎么玩的时候呀,咱们就写过一些点view文件,也写过这个mean.gs对不对,在这儿呢,同学你看一下,在这个里面有一个19,我们在这儿是不是说过,其实现在你看啊,这些文件里边这个还有这两个我们都已经用上了,就脚手架里边的那些组件,不都是刚才我写过的那些吗?然后有两个人啊,我没用上谁呢?就是这个同学,这个其实用不用的无所谓了,他就是个页面对不对,我们写的比较简单,人家这里边写的比较完善,对不?还想到了这么多事情,那就用他的吧,就没有必要再用咱们的了。现在关。
01:00
注点就一个人,同学,我们原来分析的mid.gs里边应该怎么写,那你看一看呗,我们曾经说,哎呀,得引入APP这个组件对吧?那这个配置项肯定少不了,你服务于哪个容器吗?嗯,那再往下看,这干嘛呢?注册组件对吗?各位不注册,你说你这怎么能用组件标签呢?我们曾经的分析m.GS应该这么写是不?各位,然后结果到了脚手架里面,诶,我们就看到了一个不认识的人,谁呢?Render配置,像那这样,各位啊,咱们呢,先不去研究这个render到底是干嘛的,咱们把咱们认为合理的写法写一写,看看能不能行,OK,把这render啊先注掉,把我们的分析啊,是这样的,来打开这个,把这两个呢给它复制过来,回来给它粘到这儿。同学,这是我们认为合理的写法,对不?其实也没毛病啊,你分析分析APP引入没,引入了注册没啊注册了是吧?哎,那有没有写这个组件标签写了,那你说按照常理来说,容器里边就应该出现这个APP组件,对不对,各位。
02:00
好,接下来你看着啊,我保存我没摁保存的啊,CTRLS保存是不是重新编译了呀,各位看效果啊,打开诶你发现啊,你觉得合理的写法导致整个效果都出不来了,并且他报错了,同学这个错误呢,值得我们仔细品味品味,来读一读啊大概翻译翻译说你正在使用一个,哎,同学longtime only这叫啥呢?这叫运行版本啊说老师啥叫运行版本,就先读着哎运行版本的view,然后再往后读,并且这个模板解析器是没有成功获取到的。这个东西呢,翻译成人话啊,咱开玩笑的说,翻译成人话意思就是哥们儿,你正在使用一个运行时版本的view,你没有模板解析器,说老师,那什么叫运行时版本呢?我再给你用一个通俗的语言去解释,说哥们儿,你引入了一个残缺版的view,或者说你引入了一个阉割版的view,你的功能不全,各位那什么东西没有呢?不全在哪呢?你没有模板解析器。
03:04
哎,舒老师怎么的,听他的意思,我引入的view有问题,不是一个完整的view,而是一个残缺般的view,对说老师,那不可能吧,你看这,你看我老老实实写的import view同学,我告诉你就是这句话出的问题啊,咱先读着一会再说啊,啊老师,我这view完了,引错了啊,有问题了,这view啊,残缺了啊,残缺啥了呢?残缺了模板解析器是不是?OK同学,蓝色框里的读完了,接下来呢,再读这,咱们读读这个粉色框里的,同学,Either啥意思呀?哎,翻译过来就是要么怎么怎么地是不是,那直译过来就是现在反正你残缺了模板解析器,然后呢,他给你指了两条名录,第一条名录在这儿呢,我给你用绿色的笔吧,红色和这个粉色有点太靠颜色了,第一条名录啊,在这个绿色框里呢,哎,我们读一读绿色框里的东西,就是说要么你把你需要编译的模板交给这个render函数,这是它给你的第一个选择,同学。
04:04
第一个解决办法,咋的要写render,再往后读,他说,哦,请你使用什么complainer included啥意思?就是编译器包含在里边的版本,说白了吧,同学,就是要么你用render配置你的结构,要么咋的你就给我老老实实的引入一个带有那个模板解析器的view,说白了引入什么完整版的vu,哎,同学你看看。嗯,这再给你写一下,换个颜色吧,这换成橙色,橙色。反正你引入的又不对,人家给你指了两条名录,第一条名录把你原来写在模板里的东西交给render,那么第二个名录就是你去老老实实的引入一个完整版的VIVO吧,啊说老师,那这两个渠道我们用哪个呢?哪个咱都试试render这个让他往后靠一靠,咱们先试试哪个呢?我引入一个完整版的view,看看它行不行,好吧,各位来,那么在引入完整版的之前呢,我做一个准备工作,同学,我把东西给你精简到非常精简,你看着APP不要了,说老师你这不闹呢吗?这这这APP没了,那整个组件不都丢了吗?不展示组件我也不注册了。
05:13
哎呀,说老师,我看你还要干啥?来,你看着我干的事儿可大了呢,来,往下点,同学我都不要这个组件标签了,你肯定不能写了,APP你都没引入,你都没注册,你写它干嘛呀,对吧?来同学我就写个he叫你好啊,哎,同学就什么APP组件,什么school组件,Student组件我全不要了,对吧?这日子不过了,我就把he你好啊,我想放到页面,哎,回来你看同学他同样还是不让你放,对吗?好了,来开始说你引入的view有问题,老师,我老老实实写代码,凭什么有问题了呢?你怎么能证明它有问题呢?各位看好了,按住你的CTRL键,点击这个view,我点之前问大家一个问题啊,就是我们经常使用这种方式呢,去引入一个什么东西,那我们一般用这种ES6的模块化引入,咱是不是都这么写,同学引入的是谁下的哎,谁下的什么什么下的什么什么下的,哎,然后a.GS同学,我问你一般来说我们是不是都把这个路径啊,写到具体某个文件,是这意思不?你比如说你看这同学。
06:14
是不是具体的一个文件app.view但你发现我们去引入第三方库的时候呀,我们只写到它的名字,你说是这意思不?各位你看只写到名字,那么它引入的到底是哪个点GS呢?好,接下来研究一下,摁住CTRL点它走,你同学是不是来到这儿了?来同学啊,这个目录啊,很长,我先跟你说我来到哪儿了?各位你往上看一眼,哥们,我来到no modus了,OK,哎,我关掉,再点一下321走,你来到这儿了吧,我把这个types呀也折叠起来啊,折叠起来让你看到整个view这个包的全貌,同学,绿色框里边所有的东西都是view这个库里边包含的内容,然后你写路径的时候,我问你各位,我把这个给你分个屏吧,走在这儿,你写路径的时候,你是不是只写到这儿,我要引入,其实呢,你只写到了这,你只写到了这个文件夹,你没有说具体你要引入谁谁谁啊,那它到底引入的是谁呢?来,各位打开view这个包的package.jason同学。
07:14
不是,我这个项目的点是view来打开它走,你同学里边写了很多的东西,我们关注的是这个第六行来,第六行,第六行什么意思呢?如果你通过ES6的模块化语法去引入U的时候,也就是说你自己代码里边的这个第五行,同学你用的是不是ES6的模块化语法?是的,引没引入view引入了,那引入的到底是哪个具体的文件呢?具体到哪个点GS呢?我跟你讲是靠右边这个人控制的,为什么人家那个key叫做model,就是因为这个第六行专门控制ES6模块化,引入view的时候,到底引入的是哪一个点GS啊,你写的很笼统,你只写到了目录,那目录里边到底引入的哪个具体的人呢?是靠红色框控制的,也就是说各位你看看吧,其实你引入的view是这个东西,叫做view.runtime.e sm.GS这个名。
08:14
稍后我给你解释,现在我就先告诉你各位,这个粉色框里边的V就是一个残缺版的啊,或者说是一个精简版的view,那么把什么东西精简掉了呢?啊,残缺了什么呢?同学,残缺了模板解析器啊。一旦他残缺了模板解析器,那就意味着你贪类的这个选项,模板这个选项就没人给你解析了啊舒老师闹了半天,我在这儿引入的view,结果是一个残缺版的呀,啊说老师你说的对吗?我最终引入的是这个吗?view.round time点什么ESM这个同学验证呗,太简单了啊,在哪呢?你看在Dis下的,那找Dis是不是在这呢?然后找,哎,同学你是不是看到了这么多的view啊,诶我跟你讲啊,各位在这么多的view里面啊,这个人才是真正的最原汁原味的view这个库,剩下其他的那些都是在这个基础上进行改变呀,进行精简呀,哎等等这些。
09:17
好,各位,首先我们验证一个问题,咱们引入的到底是不是这哥们view.runtime.esm.JS好同学找这呢?对不,点开它什么也不干啊,在这就来一个conslo,如果我的conslo奏效了,那就证明我引入的肯定是这个,对不,同学你要不信你就从头到尾把这些GS里边挨个给它写上CONSOLO666,或者这么写,同学,这个CONSOLO1,这个二,这个三,这个四,这个五,同学你看看,最终你直接就这么写,你引出是哪个view,一定是这个view view.round time.e sm.GS好同学,保存回头看效果来到这,先别管报不报错,同学666,输没输出输出了,这就强有力的证明了,其实我引入的真的是一个残缺版的view。好的同学,验证完了这源码别随便改,给它删掉啊说老师那我明白了,就是引入vu整出来的事儿,引入个残缺版的vu,没有模板解析器,我说这玩意它咋不行呢,那同学来,咱们先按照刚才它所提。
10:17
的第二个路子去解决问题,第二个路子是什么来着,就是别引入那个残缺版的view对不对?那引入谁完整版的view来同学,完整版的在哪呢?Dis下的view.js对不对?各位好,来开始走,你view下的谁下的,你看都有提示下的谁同学那些奇奇怪怪的我不用,我就用最原汁原味的,我就用最完整的view是吧,你要写的到位点,你再来个点GS是吧,其实不用写对不?各位好,保存同学,你看我写没写template写了我引入的是不是完整版的view?是的,那你看效果吧。同学,啥也别说,你好啊,是不是出来了。对吧,说老师那问题解决了呀,OK了呗,啊同学,那你没想一想吗?为什么人家要设计出来残缺版的view啊,是不是你要只说说,哎,老师我就写到这行,问题我解决了,那同学人家有病啊,还得让你自己写的这么麻烦,对不对?肯定有它的道理在的啊,在说它的道理之前,同学我再给你验证。另外一个解决办法就是我引入的时候呀,嘿,我就引入残缺版的view,那你引入残缺版的view,同学呢?可想而知,你就是不能写tempate,你一写那就完,对吧?你写tempate那证明啥,你在配置模板,哎,那有模板解析器吗?没有,那肯定得报错,说老师那怎么办呢?诶同学,有一个人就出来了啊,当你引入的是残缺版的V,也就是说没有了模板解析器的view,那你还想配置具体的内容,那咋办呢?朱老师,要不写模板说了吗?不行呢?诶同学这个人登场了谁呢?Render,我先不给大家一下子就用这个最经典的写法写啊,我先写一个正常的,完了咱们慢慢过。
11:55
读到第十五行啊,来同学写一个render,你就听这名同学render比叫渲染的意思,学过react的小伙伴对这个render一定非常熟悉,对吧?来同学render呢,是一个函数,你先别看十五行啊,我求你了,别看十五行容易让你晕,Render是个函数,而且这个函数呢,是view帮你去调用的啊,然后呢,我们首先验证一下啊,这个render函数到底有没有被调用,如果调用了我就输出Ren DR对吧?来,我们看一下效果啊,回来走,那有同学说,老师啊,你看这没调用,我看你这话你还咋说?同学是这样的啊,由于你写的不太合法,就是他在扫描你这个render的时候,就发现你这render写的不对呀,哥们儿,那我就不帮你执行了,代码咔戛然而止就停掉了,说老师那怎么能让他对呢,Render得有返回值,我随便给你返回一个,各位我就哪怕返回一个now它也算知道啊,你有返回值了,同学你注意看啊,来,你看是不是帮你调render了,而且我再告诉你各位render还能接收到参数呢啊,这参数啊,我临时用A代替。
12:55
啊,然后在这呢,我给你输出这个呃,A呀,输出A太长了,各位,我给你输出这么一个东西吧,Type of a啥意思,就是A的类型,对不是函数,我们就调用呗,是吧,是对象,那我们就点属性去用呗,咱看看那A是啥,各位。
13:12
诶,啥函数?你可千万不要小瞧这个函数,活都在他身上呢,同学,官方文档里没管这个东西叫A啊,也不像脚手架里边直接给你写1H文档里边叫这名,我写着完,你猜它是啥意思啊,Create啥意思?你读create element什么意思,创建元素,哎,你可以借助这个东西去渲染你具体的内容,你比如说你不想要H1吗?你不想要你好R吗?A,你就这么写,哥们走,首先第一个参数告诉人家,你那元素叫什么名,元素叫H1是吧?各位啊,你不能这么写,各位你这么写就错了,你哪有h heg变量啊,你上上下下找找哪有啊是不?所以说在这呢,你得写这个引号对吧?告诉人家,哎,是这元素好,那内容呢,哎,写着你好啊,啊,保存。
14:05
说老师那我看效果吧,页面没东西啊,那我告诉你啊,是因为的原因,你把这个non了,那人家肯定什么都不给你渲染了,但如果你要把element的创建的这个值,真正创建完的这个元素给返回,同学,那你看效果吧,自己瞧。哎,是不是出来了,所以说各位你体没体会出来这个render啊,其实就是用于什么呢?当你引入一个残缺版的view的时候,你还想配置具体的内容,那你是不是就得借助render啊,那我想问大家的是啊,你觉得绿色框里的写法香还是粉色框里的写法香啊,红色框你说哪个香?那我觉得一个正常的人肯定觉得这个简单对不?各位哎,说老师,那他为什么要弄出来render这个东西呢?就是因为他考虑到你可能引入的是一个残缺版的view,引入的是一个不能够解析timebt这个配置项的,那就得借助谁了ander啊,所以说捋顺一下各位render是个啥函数,谁帮你调view,那当你调的时候,各位给你传递的什么呢?一个create element函数,那这个函数能干嘛呢?创建具体的元素啊,编写具体的内容,既然模板不让咱写了,那没事儿,咱在这里边写一样,对吧?所以说麻烦点,我在这写了一个written啊,那同学你想想啊,这个代码如果我精简点,那你说是不是render里边我没有用到this吧?没有用到this,那我问各位是不是就可以把这个render写成一个什么东西,是不是箭头函数呀?对不?我没有用到this吗?那箭头函数左边还有一个参数,我是不是可以把小括号省略了,这就看你基本功了啊各位,那你再品一品箭头函数,里面只有一句函数题,并且我还想return,那就更简单了。
15:48
把这东西拿走,整个这些都不写了,写到这儿对不对?各位来往这边调一调,那如果想写的更好一点,你把那create element别写的那么长,随便用个字母,比如说Q可以吧,那这呢QOK了不,各位,那你看看跟十五行还有什么区别吗?说老师有区别,你16行传俩参数,这传一个,那同学我告诉你,我这传俩的原因是H1是HTML里的一个内置元素。
16:16
这个元素里面得写具体的内容,所以说我得传第二个参数,但是如果说您用的是组件,各位来十五行解开,16行注调,同学,如果说你用的是APP这个组件,那我问问各位,你就不用再写什么内容了吧,因为具体的内容都在APP这个组件里边配置着呢,你说是不?各位,哎,所以说你品味品味,那同学说老师不对,你这得写APP同学你可走开吧,你这么写的意思是告诉人家创建一个HTML里的APP元素,谁家HTML有这元素。说老师,那你不加引号,哥们,我不加引号就读变量了,不加引号就往上一读,我问各位是不是就读到第七行了,那当然第七行咋的你得解开,同学,你看APP就位没就位了啊,残缺版的没关系,我有render render帮我来渲染,OK,是这意思不?各位啊,来,你保存一下,那你看看页面,诶,那不就出效果了吗?我知道啊,我讲到这儿,大家现在肯定有一个疑问,老师,View团队是不是有病,为什么非得整出来这些东西啊,给我一个view就够了呀,我的妈呀,给我弄出来这么多乱七八糟的V,而且你还说了这些view呢,跟中间这个都没法比,都是在中间这个人的基础上进行精简啊,要么少这了,要么少那了,那他想干嘛呀?各位你听我说啊,这个view呢,其实里面包含着两种东西,我跟大家说啊,就是我们天天用的V,它里边包含着两个东西,那么第一个东西呢,就是V的核心,核心指的是什么呢?就比如说生命周期啊,处理事件啊等等那些东西就是V的核工。
17:49
能,哎,核心还加上谁呢?同学我跟你讲,就是这个模板解析器,模板解析器是啥呢?就是你写的那个time里边的东西,人得给你解析啊,所以说同学VU是有两个组成部分的,哎,一个是核心,一个是模板解析器,如果说view官方不弄出来这些奇奇怪怪的版本啊,你听我跟你说,各位说老师官方就整一个,哎,就整这么一个v.GS是最完整的,核心也有啊,这个模板解析器也有,会造成一个问题,什么问题呢?你想一下啊,各位说呀,现在你在编码,来在这呢,我给你画个图,嗯,来到白板里面说呀,你引入了一个view,你看呢,View,然后里边呢,包含着两个东西,一个是view的核心啊,还有什么呢?就是view的那个模板解析器,同学你听我说啊,在这个view.gs里面,模板解析器这个代码的体积基本占了v.GS1/3的体积,哎,这不小了,各位,哎,就比如说你想想一个公司里边你的股份是1/3,这就不小了,哎,然后如果说。
18:49
说啊各位view官方不整出来那些精简版的view,就是始终让程序员用这个最精简版的view啊,这个最完整版的V就容易出现一个问题啊,就是同学来就这么说,他没有给你设计出来那些精简版,他就给你设计出来一个这个最完整版,如果你一直用这个最完整版,就会有一个问题,你开发的时候啊,不会有什么问题,但如果有一天各位你这代码写完了,你听我说是不得交给webpa进行打包是吧?歪PA呢,就打包完了,然后就生成了一个非常非常大的文件夹,里边包含着很多你用到的图片呐,什么样式啊等等这些东西都在里边呢,那同学一定一定也得包含着谁,是不是也得包含着这个view这个库,那么view这个库里边,我问你各位核心在不在,在,那么模板解析器在不在,在那我跟你讲同学,这个时候模板解析器再出现在这儿就不太合适了。我们开发的时候,模板。
19:49
解析器应该帮着我们去翻译模板啥的,对不对,咔咔咔咔帮我们去翻译,但是如果说我们的代码写完了,借助web派,人家已经能把我们的这个点啊,给你翻译成这个点GS文件了啊,而且那些该解析的模板都解析完了,知道吧,已经变成浏览器认识的那些最最纯粹的点GS1堆全都给你了,那你觉不觉得同学这个时候模板解析器呢,其实他就没有什么作用了,你体会体会各位开发的时候,我们每次改代码改完了,得刷新完了帮你解析模板,当时我想问的是,就最终最终你代码有写完那一天吧,OK,我代码写完了,然后呢,你得进行一个统一的转换,也就是把所有所有的模板都经过一次编译,都生成啥了最纯粹的那些文档,然后那个浏览器能认识的,那你觉不觉得这个时候如果模板解析器还存在,这就不太合理了。
20:39
哎,所以说团队是这么设计的,他说我给你一些精简版的是不包含模板解析器的,哎完了等你打包的时候呢,你能省点代码,你能省点空间,对不,就是不用在打包的时候把占有V体积1/3的这么一个什么的模板解析器还得参与打包,说白了能让你打包出来的文件怎么办?哎,小那么一点点,那不信你看各位,你打开这个VGS啊,你在资源管理器里边显示,同学你看它多大,336,那你就看这些所有带有wrongtime啊,带有wrongtime的什么意思呢?跟各位说说这名字啊,带有wrongtime的都叫运行view,什么叫运行时view呢?运行时view都有一个最重要的特点,就是都把模板解析器给干掉了,能够精简一些代码,那你没发现吗?同学,所有红色框里的东西都要比绿色框里这个最完整的view体积要小啊,而且它默认给你引入的这个是吧?Run time,点这个ESM是224,然后这个view呢,是三。
21:39
百36是不?各位说老师ESM是啥意思呢?说一下这个ES呀,就代表你用的那个ES6的那个模块,M就代表这个mole模块,哎,所以说ESM潜台词就是如果你用了ES6的模块化去引入的时候,哎,那你就用这个版本的view,而且人家默认也是这样给你引入的,对不?各位哎,说老师啊,那我明白了,就你兜了一大圈,你就想告诉我一件事儿呗,啊这个没有了模板解析器的view体积很小,打包之后呢,能够让体积再小一点,那我的代价就是我要写的时候麻烦一点,我得用这个render去写,哎,就这意思。其实说到这儿吧,同学怎么讲,如果你细细品味呀,他也牵强,牵强到哪呢?之前在线下讲的时候,同学跟我说,老师啊,我就差那100多KB,我活不起了呀,这个VIEW336啊,我引入了你的这个点ES224说老师哎,我就差那100多KB啊,我随随便便项目里边用一个高清的图片我就干好。
22:39
照我差你这100多K啊,哎,你说人这么说同学是不是也有道理,就觉得好像旅游官方在这儿小题大做是不?那同学啊,我给你举一个生活中的例子,你就不觉得这玩意儿是小题大做了,拿啥举例子呢?来拿这举例子,各位就说呀,咱家要装修,哎装修干嘛呢?要铺瓷砖,你体会体会啊,有第一种,哎第一种第一种方式,第一种方式怎么去铺这瓷砖呢?你听我说买来瓷砖,同学这个瓷砖你觉不觉得其实就是view核心同学那你说你家铺瓷砖,你不买瓷砖你干嘛呢?你用view用你连核心的东西你都不用,那你那你用了个寂寞是吧,哎,买瓷砖,然后你注意看啊,我这么说骄傲买啥了?买工人,对各位你没听错,买工人,当然呢,这个咱这个这个这说老师你这人口买卖呀,你这不是不是咱就说这意思啊,买工人好,这就相当于什么呢?模板解析器,然后最终同学我问你瓷砖也就位了,工人也就位了,活也干完了,诶我问你,你家剩下的是。
23:39
啊,铺好的瓷砖,哎,加啥呢?加工人同学,你觉不觉得这事挺可怕的?就是你家想铺瓷砖,瓷砖来了,工人来了啊,瓷砖铺好了,瓷砖在你家,不走了,工人说,我也在这儿吧。同学,假设你是一个特别有钱的人,你有100个亿,同学就算你有100个亿,那我问你,你就养这个工人,这工人怎么讲,你有100个亿,工人也花不了你多少对吧?工人那点那点生活费对于你来说那可能就是皮毛,但是同学咱们再有钱,那你说你养这么一个工人,你说你是不是有点犯不上了,对吧?各位你就比如说举个例子说某云是吧,哎,那么有钱你去跟他说说你养我同学再有钱养你,他这也不太合适,你说对吧?哎,这是第一种方式,第二种呢,哎说说第二种,那你能猜到第二种我要怎么怎么办了,是吧,各位你把这个复制其实就是咋的呢?买瓷砖诶但是同学我不买工人,我雇工人,哎雇佣雇工人木板解析器,那最终同学活干完了,我问你家里剩下的是啥,是不是铺好的瓷砖工人呢?我估的呀,对不对,我估的呀,那就没了,其实所以说同学这个雇工人啥意思,就有点意思,就是说我不用那个完整版的view,哎,我用精简版的,那精简版没有办法渲染模版的,没事啊,我用谁,我用render对不对,诶写上这个叫做哎,Re OK。
24:56
对了,不,各位,哎,所以说兜兜转转是这么回事,同学来就两点,一用了这个精简版的view,哎,用了这个不包含模板解析器的view,你能省点这个打包之后的体积,还有就是这个东西本不应该出现在你最终的打包文件里面,是不是这意思?各位,哎,OK,这不就解释清楚了吗?那这里边呢,还有一个细节问题啊,各位可能说老师啊,那我明白了,来就这么回事儿呗,默认引入的是一个经典版的啊,那没办法了,这会儿不能写template,对吧?没人解析啊,那我就得用这个render说老师,那还有一个问题,就是我写的这些组件里边啊,就这个,比如说APP点,比如诶老师,我这里边儿这不还有tempate吗?哎,老师,我这不也有template,这不废了吗?那你这不又出现template了吗?同学,没事啊,这种标签类型的template view呢,专门给你找了一个库在这儿呢。
25:47
打开package.jason往下找,同学来读它是啥?你你读view模板编译器或者解析器这个21行的,用模板编译器,同学他是干嘛的?他是专门给你解析点V文件里的temp里的标签的,OK,你至于说VM里边,同学那没人给你解析,你写你都不配写知道不?哎,不能写就得用谁呢?就得用render OK,这回你体会体会是不是就明白了啊?同说老师是吗?我总觉得是不是这个东西也能解析time play的啊?同学,咱可以这么试一下来,如果你要真叫这个来,咱这么试一下,打开它,同学找到Dis里面,这里边是不是有这个view.wrong time.ESM这个点GS啊同学,我说一下这个文件里边,它用了这个关键词叫做aport,给你导出文件,你要是在浏览器上说想直接运行同学肯定不能用这个绿色框里这个e sm.JS因为这个里边用到了模块化这个s part导出的语法,浏览器不认识说老师那我就想在浏览器上诶运行一个精简。
26:47
的view,那咋办呢?哥们儿,你用它来view.runtime.gs啊,就是运行时的嘛,说老师用这个行不行呢?view.runtime点点GS行,它就是压缩一下对吧?各位,那再说说上边这些都是啥意思?各位,这个common所有带common是啥意思?就是有两种模块化大家知道吧,一个是ES6,一个是common GS,如果你用common JS语法,那同学你引入的时候默认它就走这两个了,OK,哎,好同学来咱测试一下,找到这个wrong time.JS右键资源管理器中显示好,咱把这个呢,给它复制出来,哎,然后给咱放到桌面上,然后往哪放呢?各位你看着剪切走,放在咱们讲基础的这个GS里边,哎,放在这啊,View有点mean,有点runtime。好了,接下来开始右键打开走,就想给你验证一下啊,这个东西残缺,它就得用render,然后呢,这样我在这个里边啊,我在这吧,直接写一个demo.html然后呢,引入这些固定的内容啊,当然这呢不能这么写了,是不是,哎是当前目录下的GS下的,哎同学看好了是不这个。
27:48
啊,我想往容器里边还是写一个H1,那我得怎么写呢?啊,得这么写吧,然后这块儿也不需要这个东西了,写谁呢?写这个tempate,哎,走,你直接写h he里边是你好啊,来瞧效果各位,走,你报的错误跟刚才一模一样,各位你瞧瞧是不是好回来如果你改一下各位,当然你这改成完整版view,那肯定啥事儿没有啊,咱说的是如果我不想引入完整版re render,然后咋写来着?哎,是个函数里边,诶会得有返回值,会接到一个create element,简称哎,H,然后在这呢写1H,然后传输第一个叫H1,然后传输第二个叫做内容,你好啊好了,保存各位回头看效果东西出来没出来了,OK,同学,这个问题说完了,但是我们得总结一波,回来,各位该关的东西全都关掉,回到mean.gs里边,我给你来一个总结,总结性的东西我就写在这里了,关于不同版本的view同学view.gs和view.wrong time点什么什么。
28:48
S的区别是view GS是完整版的,包含核心功能以及模板解析器,那么view.wrong点什么什么点JS呢?是运行版的view只包含核心功能,没有模板解析器啊,因为它没有木板解析器,所以不能使用temp的配置箱,需要使用render函数接收到的create element函数去指定具体的内容。OK,各位这回就说明白了吧啊,而且同学你不用紧张,在我们整个脚手架的编写当中,只有VM的时候,创建VM的时候,这个第26行我们用一下这个nder,剩下其他的时候,各位你去写组件的时候都不用你操心了,因为组建的本身就是写的templ标签,有人去解析一个应用只有一个VM,所以说同学这句话写一遍就够了,多说一句,之前没有这么做之前就是引入的全都是最完整的view啊,就说白了这个意思,干完活了工人还在你家,你得养他一辈子,但是现在呢,他升级了,OK同学,这小节听。
我来说两句