前端2021:vue3.0调试和环境准备

986 阅读2分钟

clone vue-next 仓库

vuejs/vue-next

安装依赖:

npm i rollup  yarn -g
// + rollup@2.34.0   v1.22.10

安装项目的全部依赖

yarn install

源码目录

vue3 packages 中存放着所有的源码;采用多包架构,在rollup打包时进行细分多包的方式打包;

编译器相关包:

compiler-core (编译器核心代码)

compiler-dom (编译器 dom)

compiler-sfc (单文件组件的解析)

compiler-ssr (服务端渲染)

reactivity:

  • 特点:单独抽离,意味着往后再做响应式时,不需要再通过引用vue实例的方式或者object.defineProperty API,这种借鸡生蛋的方式,进行响应式处理;
  • 缺点:和vue有着:强依赖,会把我们不需要的一些东西一同打包进去;
  • 优点:为响应式处理,增加了灵活性,只需要导入和打包reactivity即可;后续开发第三方库等的响应式处理,将会更加灵活;意义重大;

运行时相关包:

runtime-core(暴露核心实例 核心方法)

runtime-dom(扩展相关)

runtime-test(测试相关)

服务端渲染:server-renderer

模板预览:template-explorer(编译为渲染函数)

打包出口:vue(dist src )

打包相关:scripts(dev开发时,build打包...根据运行时环境来决定node 运行那个js脚本)

执行开发环境 npm run dev

通过rollup进行打包:node执行dev.js

//文件路径
/scripts/dev.js

execa API 相关知识点

rollup打包配置

rollup.config.js

createConfig 每次打包之前,创建一个rollup配置对象;可通过--sourcemap命令配置,让我们看到源码的具体位置

配置 sourcemap,便于源码调试

package.json

    "dev": "node scripts/dev.js --sourcemap",

启动内部服务 npm run serve

官方提供的example

我们以composition api todomvc为例

断点 createApp 创建实例过程

进入实例创建入口

http://localhost:5000/packages/runtime-dom/src/index.ts

至此可以开始你的源码调试啦