如何修改用 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。 运行 命令 tsc
或 npx tsc
。或者添加 -w
标志,以便它在您更改文件时重新编译。您可能会看到很多输入错误,但它们不会阻止编译器进行编译。不能保证这会奏效。
第四,您可以查看维护者的文档,了解如何从头开始手动构建库。这是“正确”的方式,但如果您只想非常快速地测试某些东西,它可能会非常耗时。
我需要调试我在 node_modules
中使用的库。不幸的是,该库是用 Typescript 编写的。我应该如何强制重新编译我编辑的 Typescript 代码?
仅供参考:图书馆是 https://www.npmjs.com/package/hardhat。
当您安装 NPM 包时,它已经构建并编译为 JavaScript。
一些 .ts
文件可能仍然可见,但不能保证您可以毫无问题地重新编译它,因为它可能依赖于此构建中不存在的配置。
您可以做几件事:
首先,您可以尝试使用调试器在打字稿文件中设置断点。如果库带有 sourcemaps,这可能是开箱即用的。使用调试器,您可以查看或编辑用于调试的内部值。
其次,可以直接编辑编译好的.js
库文件。如果您只需要更改一些小东西,这通常是最简单的方法,除非 .js
文件已缩小。
第三,您可以尝试重新编译它。 运行npm install -g typescript
。然后在库文件夹中找到包含tsconfig.json
文件的文件夹并打开其中的terminal/cmd。 运行 命令 tsc
或 npx tsc
。或者添加 -w
标志,以便它在您更改文件时重新编译。您可能会看到很多输入错误,但它们不会阻止编译器进行编译。不能保证这会奏效。
第四,您可以查看维护者的文档,了解如何从头开始手动构建库。这是“正确”的方式,但如果您只想非常快速地测试某些东西,它可能会非常耗时。