两者mian.js的区别
vue2
import Vue from 'vue'
import App from './App'
import router from './router/router';
new Vue({
router,
render: h => h(App),
}).$mount('#app')
vue3
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
createApp(App).use(router).mount('#app')
原因
在 Vue 3 中,全局改变 Vue 行为的 API 现在被移动到了由新的 createApp 方法所创建的应
用实例上。并且,它们的影响仅限于该特定应用实例;
调用 createApp 返回一个应用实例,可以因此可以在其后链式调用其它方法。该实例提供了
一个应用上下文。应用实例挂载的整个组
件树共享相同的上下文,该上下文提供了之前在 Vue 2.x 中的“全局”配置;
实现全局注册
vue2
import Vue from 'vue';
import App from './App.vue';
//全局注册test指令
Vue.test() {
});
new Vue({
render: (h) => h(App),
}).$mount('#app');
vue3
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
const app = createApp(App);
//全局注册test指令
app.test() {
});
app.use(router).mount('#app')