Vue3.0破坏性变化----Global API改为应用程序实例调用

vue2中有很多全局的api可以改变vue的行为,比如Vue.component等,这导致一些问题:

  • vue2中没有app概念,new Vue()得到的根实例被作为app,这样的话所有创建的根实例时共享相同的全局配置,这在测试时会污染其他测试用例,导致测试变得困难。
  • 全局配置也导致没有办法在单页面创建不同全局配置的多个app实例

vue3中使用createApp返回app实例,由他暴露一系列全局api

import {createApp, h} from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";

createApp(App)
  .use(store)
  .use(router)
  .component("comp", {
    render() {
      return h("div", "comp组件");
    },
  })
  .mount("#app");

看一下vue2.0和vue3.0的全局api的对比


image.png

推荐阅读更多精彩内容