卑鄙的原则?
这不是为什么添加特殊徽标,然后标记了样式,并实现了样式隔离。
卑鄙的原则
当样式标签加上Spopeed属性时,Spopeed将在DOM结构和CSS样式中添加唯一标签数据-V-XXX属性,从而实现样式私有化的作用,而不是污染全局角色;
嗯!
范围CSS的本质基于HTML和CSS属性选择器,也就是说,将data-v-xxx添加到HTML标签和CSS选择器中;
具体而言,它是通过Vue-Loader实施的,实现过程大致分为3个步骤:
vue ocpoped,原理涉及vue-loader的处理策略:
1.首先,这是VueloaderPlugin的战略:
VueloaderPlugin首先获得了原始规则(即,例如规则),然后创建了规则。投手中的投手装载器可以通过查询使用查询来识别查询的关键字,并使用ResourceQuery进行查询,以分析加载器;操作和熔化操作机制)
然后,VueloAderPlugin将继续(即处理Vuerule以外的其他规则),该规则是专门重写的资源和资源Query,以便最终可以匹配该文件;
示例:对于VUE+TS写作,请在VUE的脚本标签中添加lang ='ts'。重写后,Fakeresourequery文件路径为xx.vue.ts,然后结合TS-LOADER的资源过滤方法以匹配文件的文件。
然后来:vue-loader执行阶段;
这是一个简短的理解:VueloaderPlugin在这里处理规则,以便加载程序可以匹配文件。处理顺序:::::::::::
其次,使用上述匹配文件,然后进入Vue-Loader处理链接。首先,可以根据模板/脚本/style.ID将.VUE文件分为代码块,请遵循文件参数;
第三,对于样式代码块,Vue-Loader将在CSS-Loader的前面增加。这是Vue Spopeed的原则之一。它将为每个选择器添加属性。这里的哈希值是以上的ID值;
第四,同时,对于Vue-Loader的渲染模板的渲染块,并判断VUE文件中是否存在范围的样式,它返回上面的ScopeedId;也就是说添加data-v-hash。
这样,在上述过程之后,VUE范围范围实现了CSS模块的私有化。
不知道
但是,这会影响我一只手打开法拉利吗?
好的,以上是本文的共享。我认为喜欢它吗?~~ ???
原始:https://juejin.cn/post/7098569051860893709