我正在为当前没有的JS库编写TypeScript定义文件(.d.ts)。
其他.d.ts文件似乎将所有类型放入'全局'命名空间(如果你看到我的意思),而我正在尝试执行以下操作:
// root valerie object
//
declare var valerie: Valerie.ValerieStatic;
// additional types for Valerie (all inside this virtual namespace)
declare module Valerie {
//
// Static methods on valerie namespace
//
interface ValerieStatic {
// definitions go here.....
这意味着如果它们存在,我不会将我的界面与其他界面交叉。
我的问题是 - 它似乎有效,但这种方法可能存在问题吗?
答案 0 :(得分:2)
总的来说,这是一个很好的方法。如果您希望人们经常使用Valerie
模块中的某些界面类型,您可以考虑将它们提升到顶级,以便引用它们更方便。