用 vue-cli构建完TS项目后,会再项目下生成shims-tsx.d.ts和shims-vue.d.ts这个2个文件
shims-vue.d.ts
declare module '*.vue' {
import Vue from 'vue';
export default Vue;
}
有了这个,在TS文件里引入vue文件时,需要加上.vue的后缀,这样就不会报找不到模块了
import Service from '@/service'
重点来了
当你想要扩展声明类型时,切记在shims-vue.d.ts同级新增一个xx.d.ts文件(文件名随意,后缀一定是.d.ts)
例如
import Vue from 'vue'
import VueRouter from 'vue-router'
import { Route } from 'vue-router'
import { Store } from 'vuex'
import t from '@/i18n'
// 扩充
declare module 'vue/types/vue' {
interface Vue {
$router: VueRouter
$route: Route
$store: Store<any>
$t: t
}
}
Web前端(W3Cways.com) - Web前端学习之路