我正在使用VS2015中的Typescript编写AngularJS应用程序。当前的代码库导入了像这样的对象
import IUser = App.Interface.IUser;
class TestClass
{
users: IUser[];
}
至少在VS2015中,这个问题在于它打破了智能感知和"转到声明"在IUser
中,它被认为是在模块的顶部,并带你到那里而不是实际的定义。
我发现,另一种方法是这样做:
import Interface = Verilocation.App.Interface;
class TestClass
{
users: Interface.IUser[];
}
但是在我的模块定义中执行此操作似乎打破了Interface.IUser
上的着色,但是" Goto定义"作品。将声明放在我的命名空间之外不会破坏任何东西,但随后用我的导入变量污染全局命名空间。
是否有其他/更好的方式跨文件导入类型或我是否坚持我拥有的?我目前很想在每种类型上都是文字(即使用完整命名空间)
users: Verilocation.App.Interface.IUser[];