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在设计上对大型工程化应用对前瞻性考虑。
