如何修改用 Typescript 编写的 `node_module`?

How to modify a `node_module` that is written in Typescript?

我需要调试我在 node_modules 中使用的库。不幸的是,该库是用 Typescript 编写的。我应该如何强制重新编译我编辑的 Typescript 代码?

仅供参考:图书馆是 https://www.npmjs.com/package/hardhat

当您安装 NPM 包时,它已经构建并编译为 JavaScript。

一些 .ts 文件可能仍然可见,但不能保证您可以毫无问题地重新编译它,因为它可能依赖于此构建中不存在的配置。

您可以做几件事:

首先,您可以尝试使用调试器在打字稿文件中设置断点。如果库带有 sourcemaps,这可能是开箱即用的。使用调试器,您可以查看或编辑用于调试的内部值。

其次,可以直接编辑编译好的.js库文件。如果您只需要更改一些小东西,这通常是最简单的方法,除非 .js 文件已缩小。

第三,您可以尝试重新编译它。 运行npm install -g typescript。然后在库文件夹中找到包含tsconfig.json文件的文件夹并打开其中的terminal/cmd。 运行 命令 tscnpx tsc。或者添加 -w 标志,以便它在您更改文件时重新编译。您可能会看到很多输入错误,但它们不会阻止编译器进行编译。不能保证这会奏效。

第四,您可以查看维护者的文档,了解如何从头开始手动构建库。这是“正确”的方式,但如果您只想非常快速地测试某些东西,它可能会非常耗时。