【问题标题】:module.exports = xyz in Typescript?打字稿中的module.exports = xyz?
【发布时间】:2016-11-19 14:40:39
【问题描述】:

我在 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"
    ]
}

【问题讨论】:

标签: typescript module typescript1.8


【解决方案1】:

define(["require", "exports"], function (require, exports) { 上的 js 显然 compilerOptions.module 没有启动。

修复

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

【讨论】:

  • 如问题中所述,发布的示例没有 tsconfig.json,因为它们是在 ts 操场上完成的
猜你喜欢
  • 2012-09-23
  • 2023-04-10
  • 1970-01-01
  • 2020-08-09
  • 1970-01-01
  • 2020-04-27
  • 2023-03-07
  • 2021-07-02
  • 1970-01-01
相关资源
最近更新 更多