vue版本:3.2.33
const { createApp } = Vue;
createApp({
data() {
return {
msg: 'hello vue'
}
},
}).mount('#app')
今天我们来聊聊上面这段代码中的 createApp
都干了啥呢?
首先我们通过上一章节:如何调试源码?发现他进入到了 runtime-dom
目录下面的 index.ts
中的 createApp
这个方法中。代码片段如下:
这里插一句:还提供了 createSSRApp
方法,主要是提供给SSR渲染用的
export const createApp = ((...args) => {
// 创建应用app
const app = ensureRenderer().createApp(...args)
// 先把刚才创建的app应用中的mount方法取出来,然后重写app.mount方法的时候会用得到
const { mount } = app
app.mount = (containerOrSelector: Element | ShadowRoot | string): any => {
// 规范化容器处理
const container = normalizeContai