[Vue warn]: Unknown custom element: <RouterView> (with plugin:vue/recommended eslint rules)

[Vue warn]: Unknown custom element: <RouterView> (with plugin:vue/recommended eslint rules)

我最近开始使用 plugin:vue/recommended eslint 插件检查我的 Vue CLI 3 项目。

规则之一是 vue/component-name-in-template-casing,默认为 PascalCase,但是当 <router-view /> 自动固定为 <RouterView /> 时,我收到运行时错误:

[Vue warn]: Unknown custom element: <RouterView> - did you register the component correctly?

我(认为我)确实更喜欢 pascal 大小写的名字;我该如何解决这个问题?

您需要使用 vue-router v3.0.2+。

package.json

"dependencies": {
  "vue-router": "^3.0.2"
}

差异可以在install.js文件中看到...

Version 3.0.1(及之前)有...

Vue.component('router-view', View)

version 3.0.2 将其更改为

Vue.component('RouterView', View)

旧格式的问题是它只显式注册 <router-view> 组件,而最新版本能够处理模板中的 kebab 或 Pascal 大小写组件名称。


来自v3.0.2 release notes...

RouterLink and RouterView can now be used in PascalCase (#1842)