vue2和vue3启动上的核心差异

vue2使用构造函数,vue3使用工厂函数

  • vue2:启动入口 main.js
  • import Vue form 'vue'     // 1.导入Vue构造函数
    import App from './App'   // 2.导入根组件
    
    Vue.config.productionTip = false
    
    // 3.创建 Vue 实例
    new Vue({
        render: h => h(App)  // 4.渲染函数,h是createElement的别名
    }).$mount('#app')        // 5.手动挂载到app元素
    
  • vue3:启动入口 main.js

  • import { createApp } form 'vue'  // 1.导入工厂函数
    import App from './App'          // 2.导入根组件
    import router from './router'    // 3.可选:导入状态路由
    import store from './store'      // 4.可选:导入状态管理
    
    // 5.创建应用实例
    const app = createApp(App)    
    
    // 6.安装插件(链式调用)
    app.use(store).use(router).mount('#app') // 7.挂载到#app元素
    

改为vue3的好处

vue3解决了全局污染Tree-shaking问题

  • Vue2是“单例模式”:整个应用共享一个Vue实例,所有的API都挂在Vue构造函数上,即使用不到也会打包。
  • Vue3是“工厂模式”:通过工厂函数创建独立的、可配置的应用实例,通过模块化导入,未使用的API 可以被摇树优化掉,减小打包体积

vue3的这种改变不仅是为了更好的开发体验,更是为了支持微前端多实例现代前端架构场景,体现了Vue3在设计上对大型工程化应用对前瞻性考虑。

results matching ""

    No results matching ""