【发布时间】:2015-08-12 23:37:14
【问题描述】:
所以我遇到的问题是我正在尝试使用 knockout-es5 并输出为常见的 js 格式,但我正在使用 es6 语法编写所有内容。
现在我遇到的问题是我做了以下事情:
import ko from "knockout-es5";
希望通过 tsc 运行时的输出是:
var ko = require("knockout-es5");
但首先它不会编译,因为knockout-es5 描述符文件没有模块导出,所以我进去并在它的末尾添加了以下内容:
declare var ko: KnockoutStatic;
export module "knockout-es5" {
export = ko;
}
然后似乎确实有效,但是如果您查看使用它的输出,它会使其执行ko.default.yourMethod 而不是ko.yourMethod,然后它就不起作用了。
所以我有点困惑,因为我喜欢 ES6 语法并且我的代码都是使用 ES6 导入和导出编写的,但是由于我依赖于非 ES6 导出模块,我似乎无法找到一个可行的中间立场,我要么删除敲除默认导出并且输出文件中不包含任何要求,或者我添加默认导出并添加default 属性。
那么有没有办法让我的蛋糕在这里吃呢?
【问题讨论】:
标签: knockout.js typescript commonjs