为什么 ts-node 认为它有一个 src 目录,如果当我查看 node_modules 时有 none?

Why does ts-node think it has a src directory, if when I look in node_modules there is none?

我 运行 我的项目使用 ts-node 我得到以下错误

TSError: ⨯ Unable to compile TypeScript:
spec/crons/dailyjob.spec.ts(51,9): error TS2589: Type instantiation is excessively deep and possibly infinite.

    at createTSError (C:\Users\joe\Documents\projects\client1\node_modules\ts-node\src\index.ts:820:12)
    at reportTSError (C:\Users\joe\Documents\projects\client2\node_modules\ts-node\src\index.ts:824:19)
....

很好奇这是怎么回事,所以想在index.ts设置断点。但是当我查看 ts-node 目录时,没有这样的 src 目录。它不存在。然而脚本认为它是来自那里的 运行 代码。

它在哪里?

ts-node directory

您是 运行 ts-node 模块的分发版本,而不是其开发源代码。正在记录的路径正在从您正在使用的分发文件映射到它们不需要存在于您的机器上的原始源路径。

正如您在这张附加图片上看到的,文件 node_modules/ts-node/dist/index.js.map 告诉您文件 index.js 在构建之前映射到 ../src/index.ts,这是记录到end-user 模块。

index.js.map excerpt

重新映射这些文件是因为模块的堆栈跟踪旨在帮助模块的开发人员调试他们的构建,而不是使用它的项目。