欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 旅游 > Vue3源码调试-第三篇

Vue3源码调试-第三篇

2025/2/23 15:19:14 来源:https://blog.csdn.net/word_tian_/article/details/141609063  浏览:    关键词:Vue3源码调试-第三篇

前言

上两篇已经调试完packages/runtime-dom/src/index.ts下的createApp函数的第一行了,接下来我们看下一行

injectNativeTagCheck

首先说下这个__DEV__估计也是定义在dev.js下,又或者是哪里的,这里控制台输出是true,那我估计是因为现在是Dev环境下,所以为true

完了就要进入injectNativeTagCheck方法了

这里一看便知是给我们的app下的Config属性加多一个isNativeTag的属性,他的value是 一个方法,如代码所示,writable:false,意味着value不可更改

那其实可以从函数名称就能得知他的作用了 injectxxx,注入啥啥啥,下一个也是

injectCompilerOptionsCheck

isRuntimeOnly

映入眼帘的首先是这个方法,并且这里是整个方法的关键

这个isRuntimeOnly的方法位于packages/runtime-dom/src/components.ts下

它又依赖于complie变量

可以看到是未定义的,那猜测isRunTimeOnly的结果是true,看下调试如何

实在是没想到,输出结果是false,也就意味着compile在某个地方偷偷赋值了,有点可恶,经过我一顿搜索,找到了他的出处

packages/runtime-core/src/components.ts

packages.vue/src/index.ts

 这个文件又被打包进global.js了,也就是只要引入global.js 就会触发这个赋值,好吧!

紧接着,下一步又从app解构出了mount,我决定在下一篇继续讲

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词