在Typescript中,如何使类定义可用
我是typescript新手,正在尝试迁移现有项目。它是用Durandal编写的,因此使用了AMD 我的问题是如何使我编写的类的定义可用于其他文件,以用于参数定义或接口等 说清楚一点。我定义了一个类,例如在Typescript中,如何使类定义可用,typescript,amd,Typescript,Amd,我是typescript新手,正在尝试迁移现有项目。它是用Durandal编写的,因此使用了AMD 我的问题是如何使我编写的类的定义可用于其他文件,以用于参数定义或接口等 说清楚一点。我定义了一个类,例如 class Example{ constructor(){ //some other code } } export = Example 如果我想实例化那个类,我就用require导入它,这很好 但是,如果我只想在另一个文件中使用它作为参数类型,例如 function
class Example{
constructor(){
//some other code
}
}
export = Example
如果我想实例化那个类,我就用require导入它,这很好
但是,如果我只想在另一个文件中使用它作为参数类型,例如
function(value:Example){
}
或者在接口中
interface exampleInterface{
value:Example
}
在第一个示例中,我可以使用require导入它,但这似乎不是正确的方法,因为我正在发出代码,而我所做的只是在编译时使用该类。如果我在第二个示例中使用require,那么其他类将不再看到该接口
到目前为止,我找到的唯一方法是在一个单独的文件中声明该类的环境版本。这是可行的,但显然是一个重复和维护的问题
有更好的办法吗
谢谢
在第一个示例中,我可以使用require导入它,但这似乎不是正确的方法,因为我正在发出代码,而我所做的只是在编译时使用该类
这是推荐的方法。基本上,它确保具有类定义的文件在该文件之前由运行时解析。请注意,如果不使用导入的内容作为变量,那么代码emit就不具有依赖性
有关文档,请参见。谢谢,巴萨拉特。。我只是想澄清一下其他遇到这个问题的人。使用require导入时遇到的另一个问题是,如果我导入到一个接口中,该接口对其他文件不再可见。看起来我没有正确地声明接口。我需要显式导出接口“导出接口示例”,然后我可以使用rquire将它们导入其他文件中。