VSCode和Vue 2插件TypeScript定义

时间:2017-02-03 16:30:16

标签: typescript vue.js visual-studio-code typescript-typings

我使用VSCode和TypeScript类进行Vue 2组件开发。请参阅:vuejs/vue-class-component

在我当前的项目中,我使用像vue-i18n这样的插件来翻译标签等。这些插件使用自己的函数(如this.$t(...))扩展Vue组件,以便按键进行翻译,但VSCode没有&#39 ; t /不承认/没有关闭这些扩展(或者他们是混合?)等。

我如何学习VSCode这些扩展功能是否存在且智能感知开始工作?我可以创建自己的* .d.ts文件吗?如果是这样,我怎样才能将它们连接起来,以便VSCode可以找到它们用于智能感知?欢迎任何例子。或链接到一些示例Github repo,这样做?

2 个答案:

答案 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-i18nyarn add -D @types/vue-i18n