Vue + TypeScript 覆盖 `export default Vue`
Vue + TypeScript override `export default Vue`
我正在尝试使用 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 中的一些标志告诉打字稿不要将 .default 属性 添加到编译的 AMD 模块中?
启用 esModuleInterop
编译器选项将使 TypeScript 生成代码以在运行时检查 vue
和 vue.default
。
如您所见,Vue 类型声明不准确,但基于this previous issue,我不知道关于它的新问题是否会受到欢迎。
我正在尝试使用 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 中的一些标志告诉打字稿不要将 .default 属性 添加到编译的 AMD 模块中?
启用 esModuleInterop
编译器选项将使 TypeScript 生成代码以在运行时检查 vue
和 vue.default
。
如您所见,Vue 类型声明不准确,但基于this previous issue,我不知道关于它的新问题是否会受到欢迎。