我是打字稿的新手,我正在尝试迁移现有项目。它是用Durandal编写的,因此可以使用AMD。
我的问题是如何将我编写的类的定义提供给其他文件,以用于参数定义或接口等事项。
要更清楚一点。我已经定义了一个类
class Example{
constructor(){
//some other code
}
}
export = Example
如果我想要实例化那个类,我用require导入它就好了。
但是如果我只想在另一个文件中使用它作为参数类型,例如
function(value:Example){
}
或在界面中
interface exampleInterface{
value:Example
}
我可以在第一个示例中使用require导入它,但这似乎不是正确的方法,因为当我所做的所有操作都是使用该类进行编译时我会发出代码。如果我在第二个示例中使用require,则其他类不再可以看到该接口。
我到目前为止找到的唯一方法是在单独的文件中声明该类的环境版本。这有效,但显然是重复和维护问题。
有更好的方法吗?
由于
答案 0 :(得分:2)
我可以在第一个例子中使用require导入它,但这似乎不是正确的方法,因为当我所做的所有事情都是使用类进行编译时我发出代码< / p>
这是推荐的方式。基本上,它确保在此文件之前运行时 解析解析类文件的文件。请注意,如果您不将导入的内容用作变量,则代码发出不会依赖。
有关文档,请参阅Import Type Only。