【发布时间】:2018-09-23 06:16:37
【问题描述】:
考虑以下源打字稿文件“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;
但这是一个编译器错误——“模块没有导出的成员模块 C”。
实际上是这样!
在我的情况下,我有时甚至想深入到嵌套模块的几个层次,如果我愿意在每次使用时都将它们全部取消引用的荣耀写出来,没问题。但我不知道如何在 import 语句中取消引用嵌套。这甚至可能吗?
【问题讨论】:
-
哈,首先你制作了嵌套模块,然后你争辩说它很冗长 :) 那么为什么你想要嵌套模块呢?
-
在服务器上一组复杂的级联命名空间中精确反映域类型,这些命名空间被序列化为用于 AJAX 调用的 JSON 对象。
标签: typescript import module export