我几天前开始学习Typescript,到目前为止,它一直很混乱,尤其是模块。
我正在使用npm install -s @types/knockout
导入打字,但大多数可用的打包仍然是用Typescript 1编写的。
以下是es6-promise软件包的输入定义:
declare module 'es6-promise' {
var foo: typeof Promise; // Temp variable to reference Promise in local context
namespace rsvp {
export var Promise: typeof foo;
export function polyfill(): void;
}
export = rsvp;
}
有没有办法从typescript 2导入指定为export = xxx
的默认导出?
答案 0 :(得分:1)
是的,你可以使用它们。不幸的是,TypeScript对ES模块采用了一种向后看的方法,而不是前瞻性的方法。
export = rsvp
不是默认导出。
默认导出的格式为
export default rsvp;
export =
是TypeScript CommonJS特定的构造,意味着赋予CommonJS模块可用的module.exports
属性。
要将其导入为默认值,您需要做两件事。
"allowSyntheticDefualtImports": true