在一个vue3项目中,引入一个自定义组件时出现了[Vue warn]: Failed to resolve component:【组件名】这样的警告,引入的组件没有出现在页面中。网上查了半天没找到原因,后来将vue3中的defineComponent去掉后,就不再报错了。

<script>
import { defineComponent } from "vue";
import layaside from "./Aside";
export default defineComponent({
  components: {
    layaside,
  },
  setup() {
    return {};
  },
});
</script>


<script>
import layaside from "./Aside";
export default {
  components: {
    layaside,
  },
  setup() {
    return {};
  },
};
</script>

后来我查了一下defineComponent主要是TS的时候用处比较大,JS也可以不需要。

神奇的事情能够发生了
我去掉显示正常以后,再加上也显示正常了,而且也不报错了,而且页面也正常显示。。。。
心态崩了,搞了一中午突然晚上就好了,那个警告再也没报过,也不知道为啥。
有知道的可以帮忙解释一下,或者有同样遇到问题的可以看一下是不是这个原因。

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐