vue3 + typescript:TS2345:'Router' 类型的参数不可分配给 'Plugin_2' 类型的参数
vue3 + typescript: TS2345: Argument of type 'Router' is not assignable to parameter of type 'Plugin_2'
在我们的 yarn 多工作区项目中,我们在最新版本的 vue 中遇到了一个非常奇怪的 typescript 构建异常:
TS2345: Argument of type 'Router' is not assignable to parameter of type 'Plugin_2'.
Type 'Router' is not assignable to type '{ install: PluginInstallFunction; }'.
Types of property 'install' are incompatible.
Type '(app: App<any>) => void' is not assignable to type 'PluginInstallFunction'.
Types of parameters 'app' and 'app' are incompatible.
Type 'import("/node_modules/@vue/runtime-core/dist/runtime-core").App<any>' is not assignable to type 'import("/node_modules/@vue/runtime-core/dist/runtime-core").App<any>'.
在我看来,它们确实是一样的...
package.json的相关部分:
{
"dependencies": {
"vue": "^3.2.31",
"vue-router": "4.0.12",
"@typescript-eslint/eslint-plugin": "^4.18.0",
"@typescript-eslint/parser": "^4.18.0",
"ts-node": "^8.10.2",
"typescript": "~4.1.5"
}
}
有人以前遇到过这个问题并且知道如何在不经过漫长的打开 vue 核心票证的过程的情况下解决它吗?
我们会把它看成奇怪的纱线...
我们现在将 vue 的所有依赖项升级到 "vue": "^3.2.29"
,错误消失了。
在我们的 yarn 多工作区项目中,我们在最新版本的 vue 中遇到了一个非常奇怪的 typescript 构建异常:
TS2345: Argument of type 'Router' is not assignable to parameter of type 'Plugin_2'.
Type 'Router' is not assignable to type '{ install: PluginInstallFunction; }'.
Types of property 'install' are incompatible.
Type '(app: App<any>) => void' is not assignable to type 'PluginInstallFunction'.
Types of parameters 'app' and 'app' are incompatible.
Type 'import("/node_modules/@vue/runtime-core/dist/runtime-core").App<any>' is not assignable to type 'import("/node_modules/@vue/runtime-core/dist/runtime-core").App<any>'.
在我看来,它们确实是一样的...
package.json的相关部分:
{
"dependencies": {
"vue": "^3.2.31",
"vue-router": "4.0.12",
"@typescript-eslint/eslint-plugin": "^4.18.0",
"@typescript-eslint/parser": "^4.18.0",
"ts-node": "^8.10.2",
"typescript": "~4.1.5"
}
}
有人以前遇到过这个问题并且知道如何在不经过漫长的打开 vue 核心票证的过程的情况下解决它吗?
我们会把它看成奇怪的纱线...
我们现在将 vue 的所有依赖项升级到 "vue": "^3.2.29"
,错误消失了。