【发布时间】:2020-06-17 11:21:37
【问题描述】:
我目前正在编写一个项目,其中包含一些非常长的源文件,这对于导入非常有用,但对于维护却不是那么好;例如:
/main/core.ts
export type Foo { ... }
export interface Bar { ... }
export class Baz { ... }
/main/data.ts
import { Foo, Bar } from "core";
const x: Foo = ...;
export class BarImpl implements Bar { ... }
目前这些文件编译为:
- /dist/core.js
- /dist/core.d.ts
- /dist/core.ts.map
- /dist/data.js
- /dist/data.d.ts
- /dist/data.ts.map
如前所述,这有点像维护噩梦,随着更多功能的添加,源文件变得越来越长。我想做的是将这些拆分成新目录下的自己的源文件;例如:
/main/core/foo.ts
export type Foo { ... }
/main/core/bar.ts
export interface Bar { ... }
/main/core/baz.ts
export class Baz { ... }
我可以这样做,但它对导入有连锁反应;例如:
/main/data/barimpl.ts
import { Foo } from "core/foo";
import { Bar } from "core/bar";
const x: Foo = ...
export class BarImpl implements Bar { ... }
是否可以:
- 将 /main/core.ts 拆分成 /main/core/foo.ts 等,仍然编译成 /dist/core.js 等等?
- 维护
import { Foo, Bar } from "core"之类的导入,而不必按文件拆分导入?
【问题讨论】:
-
我自己是 typescript 的新手,但您可能想研究使用命名空间。请参阅documentation 或relevant answer
标签: typescript