访问其中的命名空间时,使导入更容易

时间:2017-12-29 20:35:53

标签: typescript import export

我有以下文件:

// FileA.tsx
export default Aaaa {
    export namespace Bbbb.Cccc {
        // Stuff that I want to access
    }
}

在另一个档案中,我有以下内容:

// FileB.tsx
import Aaaa from "FileA";
import ccc = Aaaa.Bbbb.Cccc;

// ccc.thingINeed

我正在寻找更好的方法来做到这一点。这个双线导入非常烦人,我最终有时会进行双重导入,有时甚至直接访问Aaaa.Bbbb.Cccc.thingINeed

我找不到任何方法可以做到这一点,我尝试的每一次尝试都不会因为某种原因而起作用。

谢谢!

2 个答案:

答案 0 :(得分:0)

使用命名导入

export namespace Bbbb {
  // ...
}

import { Bbbb } from './FileA'
Bbbb.thingsYouNeed.

为什么需要Bbbb.Cccc

在模块系统中,不鼓励深度嵌套。最终将事物保持在最高水平是最好的。 它允许消费代码进行树摇动。

答案 1 :(得分:0)

我找到了一个很好的解决方案。

制作一个如下文件:

export import Cccc = Aaaa.Bbbb.Cccc;

然后你可以通过这样做来消费:

从" ...文件/路径";

导入{Cccc}

如果您还想要原始文件,也可以将某些内容导出为默认值。

相关问题