【问题标题】:How to convert typescript project to node package如何将打字稿项目转换为节点包
【发布时间】:2020-02-22 15:38:38
【问题描述】:

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

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

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

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

例子?

【问题讨论】:

  • 听起来您正在尝试完成此操作:itnext.io/…
  • 除外;所有示例都显示将代码放在 index.js 中,将类型放在 index.d.ts 中。我已经在 src/a.ts 和 src/b.ts 等多个文件中有代码。我不知道如何让它们可见或作为一个模块
  • 创建index.ts文件,然后添加export * from './src/a';export * from './src/b';
  • 保罗,你想把它放在一个答案中,因为你搞定了!

标签: typescript typescript-typings typescript-declarations


【解决方案1】:

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

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

【讨论】:

  • 我必须对现有代码进行一次更正才能完成这项工作。我作为 mu 豚鼠使用的方法被定义为“const a1 =”,然后在底部导出默认 a1;我将其更改为 export const a1 并删除了默认值。感谢您的快速响应
猜你喜欢
  • 2019-10-26
  • 1970-01-01
  • 2022-01-24
  • 1970-01-01
  • 1970-01-01
  • 2021-12-25
  • 2022-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多