提问:ts模块拆分

模块的好处就是可以防止函数重名,细分代码结构, 那么如果如果想拆分模块,该怎么实现比较好呢?

我看了stackoverflow, 推荐的是这样拆分:

// 原模块
// test.ts
export module test {
    export class1 {...};
    export class2 {...};
};

//----------------拆分后

// class1.ts
export class1 {...};

// class2.ts
export class2 {...};

// test.ts
export { class1 } from "./class1";
export { class2 } from "./class2";

外部使用直接就import { class1, class2 } from “./test”; 虽然这样拆分是可以,但是有一个问题。那就是已经去掉了模块化,有没有办法在不使用import * as XXX from "./test"的情况下避免不同模块函数同名呢?

导入时重命名:

import { test as boy } from "./boy";
import { test as girl } from "./girl";

:+1::+1::+1::+1::+1: