当前位置: 首页 > article >正文

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,我决定在下一篇继续讲


http://www.kler.cn/a/282070.html

相关文章:

  • sharding-jdbc自定义分片算法,表对应关系存储在mysql中,缓存到redis或者本地
  • Kotlin return与return@forEachIndexed
  • AWTK VSCode 实时预览插件端口冲突的解决办法
  • Linux :进程间通信之管道
  • nodejs+mysql+vue3 应用实例剖析
  • SpringSecurity+jwt+captcha登录认证授权总结
  • 打印样式的艺术:用CSS @media 规则优化页面输出
  • #C++ 笔记二
  • leetcode518:零钱兑换II
  • 读取FTP中不同文件格式的文件流后导出到浏览器
  • 前端环境配置
  • 性能测试面试题汇总
  • 企业选择raksmart大带宽服务器的原因
  • 信息检索与事实核查(1):Search-Adaptor: Embedding Customization for Information Retrieval
  • 李宏毅 机器学习与深度学习【2022版】 03
  • 软考攻略/超详细/系统集成项目管理工程师/基础知识分享05
  • llama-cpp-python编译失败,解决方案安装wheel文件
  • 小米14的射频芯片高通SDR753全景图
  • 【练习】哈希表的使用
  • macOS 设置 vm.max_map_count [RAGFlow]
  • 刘文超行测笔记
  • Dopamine(多巴胺)越狱工具一键越狱教程:支持 iOS 15-iOS 16.6.1 设备
  • 5G NR HARQ操作机制
  • MySQL索引(三)
  • 图像搜索引擎DIY【CLIP+FAISS】
  • 力扣231题详解:2的幂的多种解法与模拟面试问答