如何将TypeScript的导出默认值编译为export = xxx

时间:2018-06-20 11:31:02

标签: javascript typescript ecmascript-6 module

在TypeScript代码中,我导出这样的类:

export default class World {
}

但是我发现TypeScript将其编译为:

exports.default = class World {
}

那么如何像这样编译它:

exports = class World {
}

2 个答案:

答案 0 :(得分:0)

使用语法export =

export = class World {
}

另请参阅:The handbook

请注意,这与ES6模块不兼容。此类代码永远不能编译为本地ES6模块。

为什么export default无法编译为exports =

TypeScript编译器以CommonJS和AMD格式生成成员default,因为它是标准的工作方式。在ES6标准中:

  

默认导出没有任何魔力;就像其他任何导出一样,只是命名为"default"

来源:ES6 In Depth: Modules,来自Mozilla。

答案 1 :(得分:-1)

在编译器设置中,尝试

{
    module = "CommonJS",
    moduleResolution = "Node"
}

它应该编译为module.exports = ...