Jon*_*ith 5 javascript typescript
我们的应用程序有许多对象,例如,我们可以大致分为三类:“核心”,“应用”和“对象”。
我在网上遵循了基本的Typescript教程,目前只有一个index.d.ts具有这种布局:
interface AH {
}
declare var ah: AH;
declare module 'ah' {
export = ah;
}
declare module ah {
module objects {
// much objects
}
module app {
//many app
}
module core {
//such core
}
}
Run Code Online (Sandbox Code Playgroud)
但是,由于我们使用了过时的源代码控制,将单个文件分解为3个单独的文件分别用于应用程序,核心和对象是有益的,它们的“命名空间”分别为ah.app.blah,ah.core.blah和ah.objects.blah。
我该如何实现?
如果您不在其他项目中使用此库,则无需声明模块。
看起来你在这里有两个选择:
将要公开的类型声明导出到单独的文件中,并在需要时导入它们。由于这似乎是最常见的做法,而且当您处理外部模块时,我认为这有我个人的偏好。
app.d.ts(~ core.d.ts、objects.d.ts)
export interface theAppInterface {}
Run Code Online (Sandbox Code Playgroud)
src/index.ts(示例用法)
import { theAppInterface } from '../app'
import { theCoreInterface } from '../core'
let appUsage: ah.app.theAppInterface
Run Code Online (Sandbox Code Playgroud)在全局声明文件中声明单独的类别,以便将它们放入全局命名空间中,并且您不必在任何地方单独导入它们。例如。
app.d.ts(~ core.d.ts、objects.d.ts)
declare namespace ah {
namespace app {
interface theAppInterface {}
}
}
Run Code Online (Sandbox Code Playgroud)
src/index.ts
let appUsage: ah.app.theAppInterface
let coreUsage: ah.core.theCoreInterface
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
734 次 |
| 最近记录: |