我模块的等效打字稿是什么?

时间:2016-05-12 15:55:53

标签: module typescript amd

我非常接近得到我想要的东西,但它并不完全存在。 我有这个:

export class RichTextArea {
    text: string;

    constructor(params: any)
    {
        this.text = params.text;
    }
}

正在产生这个(AMD):

define(["require", "exports"], function (require, exports) {
    "use strict";
    var RichTextArea = (function () {
        function RichTextArea(params) {
            self.text= params.text;
        }
        return RichTextArea;
    }());
    exports.RichTextArea = RichTextArea;
});

我需要它来生成看起来像这样的东西(参见更改导出):

define(["require", "exports"], function (require, exports) {
    "use strict";
    var RichTextArea = (function () {
        function RichTextArea(params) {
            self.text = params.text;
        }
        return RichTextArea;
    }());
    return RichTextArea; //I need this so that it is immediately available
});

为了实现这一目标,我需要在TS中进行哪些更改? 当我导入我的模块时,我不想说mymodule.RichTextArea(params),我希望能够说mymodule(params)

1 个答案:

答案 0 :(得分:1)

使用此:

class RichTextArea {
    text: string;

    constructor(params: any)
    {
        this.text = params.text;
    }
}

export = RichTextArea;

输出此代码:

define(["require", "exports"], function (require, exports) {
    "use strict";
    var RichTextArea = (function () {
        function RichTextArea(params) {
            this.text = params.text;
        }
        return RichTextArea;
    }());
    return RichTextArea;
});