0

I got this module like this:

module MyModule {
    export class Constants {
        public static WIDTH:number = 100;
        public static HEIGHT:number = 100;
        ....
    }
} 
export = MyModule;

Now I need to use MyModule.Constants.WIDTH in another class but I can't use import (I need to deliver this class js to a third party, and they don't use requirejs). Right now I use reference to get code checking but it keep giving this error (at transpilling time)

error TS2095: Could not find symbol 'MyModule'

What should I do now so I can use autocomplete and get rid of this error?

4

1 回答 1

1

我希望你不要在 TypeScript 论坛上胡思乱想,否则我要重复自己了。

exportimport一起工作。您应该两者都使用或都不使用。如果您检查生成的代码带有带有关键字的样子,export您会看到会export导致构建模块。由于第三方无法使用 RequireJS,我认为这不是您想要的。

我会像下面这样构造我的类:

    // file pkg/Foo.ts
module company.pkg {
    export class Foo {}
}

    // file pkg2/Bar.ts
module company.pkg2 {
    export class Bar{}
}

将所有内容放入公司的名称空间可以最大限度地减少与其他库发生冲突的可能性。/// <reference path="..." />类使用允许编译的引用相互了解。

由于你没有做模块,我也会使用--out filename.js. 这会获得(通常)正确顺序中包含的所有文件。

于 2013-11-08T22:02:27.350 回答