gpt4 book ai didi

javascript - 如何在 Typescript 库中导出子模块

转载 作者:行者123 更新时间:2023-12-01 15:10:09 25 4
gpt4 key购买 nike

所以我的目标是在 Typescript 中创建一个库。我的意图是将库的核心部分拆分为 RxJS 或 Angular Material 等子模块。

RxJS 和 Angular 都支持这样的导入:

// RxJS
import { map, filter } from 'rxjs/operators';

// Angular
import { MatButtonModule } from '@angular/material/button';

但是,我无法自己复制它。

我的目标是做类似的事情,并允许您使用 import { foo } from 'package/bar 导入一个类;

我在 Github 上查看了 RxJS 的源代码,并尝试复制他们所做的,但它不起作用。

该库编译得很好,但是当我开始导入它时,我总是得到一个 Cannot resolve dependency 'package/foo'错误。
同时做 import { test } from package (没有子模块部分)工作得很好。

我尝试在 tsconfig 中使用路径无济于事。如果这是答案,那么我做错了。

我该怎么做呢?

最佳答案

为了实现这一点,您可以在不同的目录中创建“子模块”(尽管它们在技术上属于同一模块),并创建一个 index.ts在每个目录上导出您想要发布的任何内容。

例如,我在我的 NodeJs 包 Flowed 中完成了此操作。 ,例如,您可以这样做:

import { FlowManager } from 'flowed/dist/engine';

其中对应的 index.ts文件是 this one如果你想检查。

尽管在我的情况下,我还从根目录中放置了所有可用的东西,所以前一行相当于:
import { FlowManager } from 'flowed';

关于javascript - 如何在 Typescript 库中导出子模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53680866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com