一般来说,我写的是Angular 1.x使用Typescript.
问题的本质是在何处以及如何正确描述数据类型(类)。
比方说typescript @types,它们描述文件中的类型d.ts。
您还可以在类和导出旁边描述接口。
将所有这些结合起来以免堆放低劣的代码将如何合理。
也许我还是有些不明白。
示例1,使用这样的界面
interface ICommentController {
add: (...args) => any;
vote: (...args) => any;
}
class CommentController implements ICommentController {
vote: (...args) => any;
add: (...args) => any;
}
示例2,将界面移动到d.ts
declare module application {
namespace comment {
interface ICommentController {
add: (...args) => any;
vote: (...args) => any;
}
}
}
并像这样使用
class CommentController implements application.comment.ICommentController {}
我明白他们d.ts描述的是类型,但本质几乎是一样的?同一个接口,只有1种情况需要使用需要导入的接口,2种情况不需要
创建声明文件是为了将它们与构建的 .js 文件一起发送,以便在 TypeScript 代码的另一个项目中使用。如果您只打算在项目中使用这些类型,则无需在单独的 d.ts 文件中声明它们。