在ts项目中,我们通常会加入.d.ts文件来声明变量,比如使用
app.config.globalProperties.$bus = globalEvent;
来在vue上挂载事件总线,然后在.d.ts文件中声明$bus
import { EventType } from 'mitt';
import { Emitter } from 'mitt';
import { ComponentCustomProperties } from '@vue/runtime-core';
declare module '@vue/runtime-core' {
interface ComponentCustomProperties {
/**
* 事件总线
*/
$bus: Emitter<Record<EventType, unknown>>;
}
}
通过配置tsconfig.json中的include属性来引入.d.ts文件,此时我们会发现在ts文件中已经成功有提示了,但在vue文件中还是any,此时,我们需要在入口vue文件,一般为App.vue中将.d.ts文件引入即可