我已经完成了在Visual Studio 2012中将一个JavaScript库移植到TypeScript.总共大约有60个类,每个类都在自己的.ts文件中定义.
所有类都在同一模块中定义.我使用引用注释来reder到其他文件中定义的类.每个文件的布局如下所示:
///<reference path='./../myotherclass.ts' />
module MyModule {
export class MyClass {
...
}
}
Run Code Online (Sandbox Code Playgroud)
现在我在同一个解决方案中创建了第二个项目,它将成为使用我新移植的库的实际应用程序.我必须以某种方式包括我的库,我想这就是模块系统的用途.但是,我不确定要导入哪些文件,因为MyModule分布在几十个文件中.这是我可以使用.d.ts文件吗?
此外,为了能够导入模块,必须使用'export'关键字声明它,但如果我这样做,则不再通过引用注释找到它.
最重要的是,应该编译这两个项目,以便编译器输出可以很容易地与像requireJS这样的模块加载器一起使用.
实现这一切的最佳方法是什么?
谢谢!
看看下面的代码:
module MyModule {
class MyPrivateClass {
...
}
export class MyPublicClass {
private var: MyPrivateClass; // MyPrivateClass is unknown
}
}
Run Code Online (Sandbox Code Playgroud)
我希望MyPrivateClass仅在MyModule中可见,特别是在MyPublicClass中内部使用.在MyModule之外,只有MyPublicClass可见.我认为上面的布局应该做但VS抱怨MyPrivateClass在MyPublicClass中不可见.在MyPrivateClass的定义之前添加导出使其对MyPublicClass可见,但是它也可以从外部看到.
有没有办法让它只对MyPublicClass可见?
谢谢.
是否可以在一个文件中声明一个类并在单独的文件中定义它的方法?
我有一些有很多方法的课程,如果我可以将它们分散一点,那将会很棒.
typescript ×3