如何在Typescript中高效使用嵌套模块

问题描述 投票:0回答:1

考虑以下源打字稿文件“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”。

事实上确实如此!

就我而言,有时我什至想深入嵌套模块几个级别,如果我愿意在每次使用时都以解除引用的方式将它们写出来,那就没问题了。但我不知道如何取消引用导入语句中的嵌套。这可能吗?

typescript import module export
1个回答
7
投票

这可能吗?

以不同方式使用

import
关键字来 移动类型:

import { moduleA, moduleB } from "./src";    
import enumC = moduleB.moduleC.enumC;
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.