【发布时间】:2018-06-18 12:37:31
【问题描述】:
我正在尝试通过附加映射来增强 vue js。我正在关注这个:https://vuejs.org/v2/guide/typescript.html#Augmenting-Types-for-Use-with-Plugins
我在./Definitions 下创建了一个文件vue.d.ts(相对于我的main.ts)
我在我的main.ts 中引用了它:
require("./Definitions/vue.d.ts");
在vue.d.ts 我已经输入:
// 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
}
}
但是这个:
var vm = new Vue()
console.log(vm.$myProperty);
无法解决。
我尝试将 declare module 'vue/types/vue' 更改为 declare module 'vue'。这给了我一个错误:"Cannot augument module 'vue' because it resolves to a non-module entity"
原始的 vue 类型位于 {projectDir}\node_modules\@types\vue\index.d.ts 下。我正在使用 webpack。
我该如何正确操作?
【问题讨论】:
标签: typescript vue.js