通过@vue-runtime-core构建createApp
它里面会暴露一个函数 createRenderer
createRenderer({ pathcProp, insert, remove, createElement, // ...}) 里面是options 一些配置选项 返回createApp 函数
createApp接受一个跟组件
import { createRenderer } from '@vue/runtime-core' const renderer = createRenderer({ }) export function createApp(root) { return renderer.createApp(root) }
我们创建一个根组件 手写一个render函数应为.vue文件最后也会被编译成render函数
在vue3以后h函数要通过vue导入 render已经不提供了
h=> createElement
import { defineComponent, h } from "@vue/runtime-core" export default defineComponent({ render() { const vnode = h('div') return vnode } })
最后我们在main.js 引用
import { createApp } from '/index' import App from './app' createApp(App).mount('#app')