首页 > 解决方案 > 如何将打字稿项目转换为节点包

问题描述

我有一个较旧的打字稿项目,它在多个文件中导出了许多功能和接口。依赖包通过直接链接到目录中的文件来拉入这些导出。

我正在尝试将依赖项转换为真正的 npm 包,带有 index.js 和 index.d.js,但在努力解决方法。我不知道这两个文件应该是什么样子。

例如,我需要同时导出一个类型 HttpHandler 和一个实现 httpHandler

对于这个包,没有默认值。

例子?

标签: typescripttypescript-typingstypescript-declarations

解决方案


下面是一个示例库@ed4becky/acme。该库的源代码在src目录中,并且是一个假消费者(fake-external-consumer.ts)。在现实世界的示例中,fake-exernal-consumer.ts将在其自己的 repo/项目中,我只是将其保留在外部src作为视觉指标和简单的目的。在示例中,您可以看到我是如何创建库的@ed4becky/acme,以及它是如何导入的import { A, B } from @ed4becky/acme。我可以从库中导入,因为 A 类和 B 类是在src/index.ts.

https://codesandbox.io/s/mystifying-gauss-b8zjk


推荐阅读