2016-08-31 19 views
1

我用打字稿开始一个新项目,我对输入有疑问。 假设我有这2个文件:用打字稿输入

// foo.ts 
namespace root { 
    export class Test { 
     constructor() { 
      console.log(BAR) 
     } 
    } 
} 

// a/bar.ts 
namespace root.a { 
    export const BAR = 'Whatever' 
} 

我如何使用我的吧常量到我的测试类? 我试图添加/// <reference path="a/bar.ts" />,然后我可以拨打root.a.BAR甚至a.BAR

但我宁愿不使用这个参考语句,这有可能吗? 此外,我想使用BAR没有其完整的名称空间,是否也有可能?

谢谢你在前进,
泽维尔

回答

1

我宁愿不使用此引用的语句,这可能

是的,你可以使用tsconfig.json:https://basarat.gitbooks.io/alm/content/config/tsconfig.html但提防订购疼痛(您需要使用files订购):https://basarat.gitbooks.io/typescript/content/docs/tips/outFile.html

改为使用模块。

更多

https://basarat.gitbooks.io/typescript/content/docs/project/modules.html

+1

我会扩大答案多一点,少依赖外部链接到您自己的网站。尽管如此,答复仍然有帮助和正确。顺便说一句,感谢这本书的精彩作品,我经常参考它。 –

0

谢谢您的回答,basarat。

我用命名空间因为我不希望建立类似RequireJS,通过模块需要。但是,如果我理解得好,这不是解决我的问题的正确方法。

我试图按照这个例子(typescript + angular 1):hottowel-angular-typescript by John Papa,但它真的是一个很好的例子吗?我的意思是,我真的不想在每个类/接口/ const ...的名字空间前缀!

有没有文件模块的另一种解决方案?