1. 问题描述
Vue3
项目中,使用vue-i18n
,在模版中使用$t
时,页面可以正常渲染,但是类型报错。
相关依赖版本如下:
"dependencies": {
"vue": "^3.4.29",
"vue-i18n": "^9.14.0",
// 其它依赖
},
2. 解决方法
手动给 $t
添加类型声明。
创建一个类型声明文件vue-i18n.d.ts
,并将其添加到 tsconfig.json
配置文件的 include
配置项中。文件内容如下:
export {};
declare module '@vue/runtime-core' {
// 提供全局属性 `$t`
interface ComponentCustomProperties {
$t: (message: string) => string;
}
}
参考文档
- 博客:vue-i18n 使用 $t 导致的 Typescript 报错问题
- Vue3官网 :扩展全局属性