如何将打字稿项目转换为节点包

How to convert typescript project to node package

我有一个较旧的打字稿项目,它在多个文件中导出了很多函数和接口。依赖包通过直接链接到目录中的文件来提取这些导出。

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

例如,我需要导出类型 HttpHandler 和实现 httpHandler

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

例子?

下面是一个示例库 @ed4becky/acme。该库的源代码在 src 目录中,并且是一个伪造的消费者 (fake-external-consumer.ts)。在一个真实世界的例子中,fake-exernal-consumer.ts 将在它自己的 repo/project 中,我只是将它放在 src 之外,作为一个视觉指示器和简单的目的。在示例中,您可以看到我如何创建库 @ed4becky/acme,以及如何导入它 import { A, B } from @ed4becky/acme。我能够从库中导入,因为 class A 和 B 在 src/index.ts.

中导出

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