Typescript中的module.exports = xyz?

时间:2016-07-16 14:28:02

标签: typescript module typescript1.8

我在javascript中有以下代码方法,但我想知道哪些Typescript代码会编译到这个?

var MyModule= require("./module-common");

MyModule._function1 = function () {
    console.log("function 1");
};

MyModule._function2 = function () {
    console.log("function 2");
};

module.exports = MyModule;

我试过了

类:

TS:

class myModule {
    function1(){}
}
export = myModule;

- > JS:

define(["require", "exports"], function (require, exports) {
    "use strict";
    var myModule = (function () {
        function myModule() {
        }
        myModule.prototype.function1 = function () { };
        return myModule;
    }());
    return myModule;
});

模块:

TS:

module myModule {
    function function1(){}
}
export = myModule;

- > JS:

define(["require", "exports"], function (require, exports) {
    "use strict";
    var myModule;
    (function (myModule) {
        function function1() { }
    })(myModule || (myModule = {}));
    return myModule;
});

但正如你所看到的,两者都没有产生我想要的......

以上示例使用:http://www.typescriptlang.org/play/index.html

完成

但在我的真实项目中,tsconfig就是这样:

{
    "compilerOptions": {
        "noEmitOnError": false,
        "noEmitHelpers": true,
        "noLib": false,
        "sourceMap": true,
        "target": "es5",
        "module": "commonjs",
        "removeComments": false
    }, 
    "exclude": [
        "node_modules", 
        "sample"
    ]
}

1 个答案:

答案 0 :(得分:0)

明确define(["require", "exports"], function (require, exports) { js compilerOptions.module并没有开始。

修复

  • 确保您的编译器指向-p path/to/tsconfig.json