1. // 在 Vue.js 3.0 中,初始化一个应用的方式如下
    2. import { createApp } from 'vue'
    3. import App from './app'
    4. const app = createApp(App)
    5. app.mount('#app')

    -

    —->:

    1. const createApp = ((...args) => {
    2. // 创建 app 对象
    3. const app = ensureRenderer().createApp(...args)
    4. const { mount } = app
    5. // 重写 mount 方法
    6. app.mount = (containerOrSelector) => {
    7. // ...
    8. }
    9. return app
    10. })

    createApp 主要做了两件事情:

    • 创建 app 对象
    • 重写 app.mount 方法

    ensureRenderer内部主要返回了:

    1. render,
    2. createApp: createAppAPI(render)