TypeScript捆绑不适用于外部模块

时间:2015-10-29 07:53:53

标签: module typescript amd bundling-and-minification tsc

我有一个示例TypeScript代码,我正在尝试使用 typescript编译器(tsc)捆绑多个 ts / tsx 文件< /强>

以下是代码:

文件:ISample.ts

    class ISample{
        constructor(public value:string){
        }
    }
    export = ISample;

文件:Sample.ts

    import ISample = require('./ISample');

    class SampleImpl{
        value: ISample;
        constructor(sample:number){
            this.value = new ISample(sample+'');
        }
    }

文件:tsconfig.json

    {
        "compilerOptions": {
            "module": "amd",
            "noImplicitAny": true,
            "removeComments": true,
            "preserveConstEnums": true,
            "jsx": "react",
            "outFile": "./dist/bundle.js",
            "target": "es3",
            "listFiles": true,
            "sourceMap": false
        },
        "files": [
            "./src/Sample.ts",
            "./src/ISample.ts"
        ]
    }

当我运行命令时:

    tsc

bundle.js 已生成但完全空白。

观察:

  1. 将代码移至内部模块

  2. 时,问题不会发生
  3. 当我省略 import / require 语句并使用 ISample 类的声明时,问题也不会发生,但在这种情况下< strong> bundle.js 不包含 ISample 类的代码

  4. 为什么会发生这种情况?

1 个答案:

答案 0 :(得分:1)