typescript - Vue 和 TS 忽略 shims 文件
问题描述
我正在开发一个基于 VUE 和 TS 的项目,看起来 shims 文件不起作用。该项目充斥着无限的错误,例如
Property '$store' does not exist on type 'Dashboard'.
Property "$router" does not exist on type 'Dashboard'.
我的商店和路由器运行良好,但编译器不同意这一点,这就是我决定适应 TS 并添加一些 shims.d.ts 文件的原因。
垫片文件看起来像这样
import { VueRouter } from "vue-router/types/router";
import { Route } from "vue-router";
declare module "vue/types/vue" {
interface Vue {
$router: VueRouter;
$route: Route;
}
}
{
"compilerOptions": {
"target": "es5",
"module": "esnext",
"strict": true,
"jsx": "preserve",
"importHelpers": true,
"moduleResolution": "node",
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"experimentalDecorators": true,
"sourceMap": true,
"noImplicitThis": false,
"downlevelIteration": true,
"baseUrl": ".",
"typeRoots": [
"./node_modules/@types",
"./src/@types/",
],
"types": [
"webpack-env"
],
"paths": {
"@/*": [
"src/*"
]
},
"lib": [
"esnext",
"dom",
"dom.iterable",
"scripthost"
]
},
"include": [
"src/**/*.ts",
"src/**/*.tsx",
"src/**/*.vue",
"tests/**/*.ts",
"tests/**/*.tsx"
],
"exclude": [
"node_modules"
]
}
垫片文件位于 project_name/src/@types/ 文件夹中。