一、clone源码:
git clone https://github.com/vuejs/vue-next.git
二、安装依赖
yarn --ignore-scripts
三、生成sourcemap文件,package.json
"dev":"node scrpts/dev.js --sourcemap"
四、编译
yarn dev
五、vue3.X api
createApp 创建app实例 renderer渲染器的方法
renderer createRenderer的工厂函数,这里面的参数是dom操作,需要创建一个renderer实例
createRenderer 接收options返回一个对象,包含渲染器
render 将虚拟dom 转换成真实dom放到container中,
createAppAPI 接收一个render函数,return一个createApp函数,传进来一个rootComponent (宿主元素)
mount 挂载app实例,会调用传进来的render函数,将vnode转成真实dom 并挂在宿主元素中
setupRenderEffct //副作用函数
patch 将虚拟dom 转换成真实dom 的函数
六、基本使用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div>{{count}}</div>
<comp></comp>
</body>
<script src="../dist/vue.global.js"></script>
<script>
const { createApp } = Vue
//创建app实例
createApp({
data() {
return {
count: 0
}
}
})
//创建组件
.component ('comp',{
template:'<div>我是comp组件</div> '
})
//使用路由
.use(Router)
.use(store)
</script>
</html>