在使用 vue3 注册全局组件的时候,使用 app.component 注册组件在使用的时候会报:Invalid VNode type: undefined (undefined) 的错误。
const components = import.meta.glob("../components/form/*.vue");
function autoRegisterComponents(app: App) {
Object.entries(components).forEach(([file, module]) => {
const name = file.split("/").pop()?.replace(/.vue/, "") as string;
app.component(name, module);
});
}
解决:文章来源:https://www.toymoban.com/news/detail-539353.html
引入 defineAsyncComponent(定义一个异步组件,它在运行时是懒加载的。参数可以是一个异步加载函数,或是对加载行为进行更具体定制的一个选项对象。)文章来源地址https://www.toymoban.com/news/detail-539353.html
import { App, defineAsyncComponent } from "vue";
const components = import.meta.glob("../components/form/*.vue");
function autoRegisterComponents(app: App) {
Object.entries(components).forEach(([file, module]) => {
const name = file.split("/").pop()?.replace(/.vue/, "") as string;
app.component(name, defineAsyncComponent(module));
});
}
到了这里,关于【vue3 + vite】: Invalid VNode type: undefined (undefined)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!