2016-05-12 48 views
0

我非常接近得到我想要的东西,但并不是那样。 我有这样的:什么是我的模块的等效打字稿?

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 
}); 

为了达到这个目标,我需要改变什么? 当我输入我的模块,我不想不得不说mymodule.RichTextArea(PARAMS),我希望能够说mymodule中(PARAMS)

回答

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; 
}); 
+0

我是sooo关闭,我试过'出口RichTextArea',我没有分配它!这工作完美。谢谢,一直在努力。 – 4imble