Vue.component 不是函数/从 Vue 2 迁移到 Vue 3 版本
Vue.component is not a function / Migrating from Vue 2 to Vue 3 Version
我正在尝试将项目中的 Vue 版本从 2 更新到 3。问题是,我必须使用 .js 文件,而不是 .vue。问题是,我找不到“Vue.component”的替代品。
我的app.js
// Vue Router 4
var router = VueRouter.createRouter({
history: VueRouter.createWebHashHistory(),
routes,
});
// Create Vuex store
var store = Vuex.createStore({
state: {
// state
}
});
// Vue 3
var app = Vue.createApp({});
app.use(router);
app.use(store);
app.mount('#app');
组件之一:
分量-ex.js
Vue.component('component-ex', {});
// I also tried app.component('component-ex', {});
然后我通过 index.html
导入应用程序和所有组件
Index.html
<script src="https://unpkg.com/vue@3"></script>
<script src="https://unpkg.com/vue-router@4"></script>
<script src="https://unpkg.com/vuex@4.0.0/dist/vuex.global.js"></script>
<script src="app.js"></script>
<script src="/components/component-ex.js"></script>
在版本 2 中一切正常,但现在它抛出错误:Vue.component 不是函数
来自Vue docs:
应始终在完成所有应用配置和资产注册后调用 .mount() 方法。另请注意,与资产注册方法不同,它的 return 值是根组件实例而不是应用程序实例。
所以你的 index.html 应该看起来更像这样:
<script src="https://unpkg.com/vue@3"></script>
<script src="https://unpkg.com/vue-router@4"></script>
<script src="https://unpkg.com/vuex@4.0.0/dist/vuex.global.js"></script>
<script src="app.js"></script>
<script src="/components/component-ex.js"></script>
<script src="/components/another-component.js"></script>
<script src="/components/yet-another-component.js"></script>
<script>app.mount('#app');</script>
我正在尝试将项目中的 Vue 版本从 2 更新到 3。问题是,我必须使用 .js 文件,而不是 .vue。问题是,我找不到“Vue.component”的替代品。
我的app.js
// Vue Router 4
var router = VueRouter.createRouter({
history: VueRouter.createWebHashHistory(),
routes,
});
// Create Vuex store
var store = Vuex.createStore({
state: {
// state
}
});
// Vue 3
var app = Vue.createApp({});
app.use(router);
app.use(store);
app.mount('#app');
组件之一:
分量-ex.js
Vue.component('component-ex', {});
// I also tried app.component('component-ex', {});
然后我通过 index.html
导入应用程序和所有组件Index.html
<script src="https://unpkg.com/vue@3"></script>
<script src="https://unpkg.com/vue-router@4"></script>
<script src="https://unpkg.com/vuex@4.0.0/dist/vuex.global.js"></script>
<script src="app.js"></script>
<script src="/components/component-ex.js"></script>
在版本 2 中一切正常,但现在它抛出错误:Vue.component 不是函数
来自Vue docs:
应始终在完成所有应用配置和资产注册后调用 .mount() 方法。另请注意,与资产注册方法不同,它的 return 值是根组件实例而不是应用程序实例。
所以你的 index.html 应该看起来更像这样:
<script src="https://unpkg.com/vue@3"></script>
<script src="https://unpkg.com/vue-router@4"></script>
<script src="https://unpkg.com/vuex@4.0.0/dist/vuex.global.js"></script>
<script src="app.js"></script>
<script src="/components/component-ex.js"></script>
<script src="/components/another-component.js"></script>
<script src="/components/yet-another-component.js"></script>
<script>app.mount('#app');</script>