考虑以下源打字稿文件“src.ts”:
export module moduleA {
export enum enumA {
val1 = 0,
val2 = 1
};
};
export module moduleB {
export module moduleC {
export enum enumC {
val3 = 0,
val4 = 1
};
};
};
并将以下文件视为同一文件夹中的消费者:
import { moduleA, moduleB } from "./src";
const A: moduleA.enumA = moduleA.enumA.val1;
const B: moduleB.moduleC.enumC = moduleB.moduleC.enumC.val3;
即使有点冗长,效果也很好。但现在为了尝试解决这种情况的“冗长”并使代码更易于阅读,我想做一些类似的事情:
import { moduleB.moduleC.enumC as enumC } from "./src";
const C: enumC = enumC.val3;
但是这是一个编译器错误——“模块没有导出的成员 moduleC”。
事实上确实如此!
就我而言,有时我什至想深入嵌套模块几个级别,如果我愿意在每次使用时都以解除引用的方式将它们写出来,那就没问题了。但我不知道如何取消引用导入语句中的嵌套。这可能吗?
这可能吗?
以不同方式使用
import
关键字来 移动类型:
import { moduleA, moduleB } from "./src";
import enumC = moduleB.moduleC.enumC;