Vue + TypeScript覆盖`导出默认Vue`

时间:2018-10-29 20:07:24

标签: typescript vue.js amd typescript-typings

我正在尝试使用Vue和TypeScript。我正在尝试在tsconfig中编译为AMD。

Vue.js随附的类型定义在vue / types / index.d.ts中声明

export default Vue;

但是,这会导致打字稿对此进行编译:

import Vue as "vue";
export default Vue.extend({ ... });

基本上是这样:

define(["vue"], function(vue) {
  exports.default = vue.default.extend({  ... })
});

注意,它认为vue应该具有.default属性,而没有。无论如何,有没有写一个覆盖默认vue类型定义的类型定义,该状态声明如下:

export = Vue;

还是tsconfig中的一些标志告诉TypeScript不要将.default属性添加到已编译的AMD模块中?

1 个答案:

答案 0 :(得分:2)

启用esModuleInterop编译器选项将使TypeScript生成代码以在运行时检查vuevue.default

您注意到,Vue类型声明不准确,但是基于this previous issue,我不知道是否会很好地收到有关它的新问题。