之前一直以为在调用createApp()时执行beforeCreate、created这两个钩子函数,在mount()时才执行beforeMount、mounted这两个钩子函数
但实际上,在createApp()时不会执行任何钩子函数,而在mount时才会开始执行钩子函数
以下是测试的例子
网上查找资料,了解到createApp确实创建了一个vue实例,但这里只做了一些初始化的操作,比如初始化钩子函数、初始化watch、methods等,还有使用defineProperty把数据转化成getter/setter的响应式前处理也在这里执行
等到调用mount时才开始真正解析vue,执行各种编译的操作
从vue3的生命周期图示也可以看到,生命周期钩子都是在mount()之后执行的