我使用VSCode和TypeScript类进行Vue 2组件开发。请参阅:vuejs/vue-class-component。
在我当前的项目中,我使用像vue-i18n
这样的插件来翻译标签等。这些插件使用自己的函数(如this.$t(...)
)扩展Vue组件,以便按键进行翻译,但VSCode没有&#39 ; t /不承认/没有关闭这些扩展(或者他们是混合?)等。
我如何学习VSCode这些扩展功能是否存在且智能感知开始工作?我可以创建自己的* .d.ts文件吗?如果是这样,我怎样才能将它们连接起来,以便VSCode可以找到它们用于智能感知?欢迎任何例子。或链接到一些示例Github repo,这样做?
答案 0 :(得分:2)
此问题现已解决,并在Vue TypeScript文档中进行了说明。它被称为"Augmenting Types for Use with Plugins"。
以下代码段来自此页面以供快速参考:
// For example, to declare an instance property $myProperty with type string:
// 1. Make sure to import 'vue' before declaring augmented types
import Vue from 'vue'
// 2. Specify a file with the types you want to augment
// Vue has the constructor type in types/vue.d.ts
declare module 'vue/types/vue' {
// 3. Declare augmentation for Vue
interface Vue {
$myProperty: string
}
}
答案 1 :(得分:0)
vue-i18n
不提供自己的TypeScript类型。
相反,您可以使用DefinitelyTyped:
npm i -D @types/vue-i18n
或yarn add -D @types/vue-i18n