如何在 .ts 而不是 .js 中显示 Typescript 运行时错误/异常

Posted

技术标签:

【中文标题】如何在 .ts 而不是 .js 中显示 Typescript 运行时错误/异常【英文标题】:How to display Typescript Runtime errors/exceptions in .ts instead of .js 【发布时间】:2019-11-16 18:06:53 【问题描述】:

我是打字稿的新手。我使用来自谷歌(谷歌云功能)的无服务器解决方案,该解决方案在后台运行带有打字稿的 Node.js。当我在日志中看到“运行时错误”时,我在 .js 文件中看到错误,这是有道理的,因为 .ts 代码被编译为 .js,但由于我编写的是 typescript 代码而不是 javascript 代码,因此调试变得更加困难。一般来说,我希望看到在 .ts 中而不是在 .js 中产生错误的行。这可能吗?

【问题讨论】:

您可以让 TypeScript 创建源映射,它可用于将行和列信息与原始 TypeScript 源相关联。调试器可以自动使用它们,但不知道如何将它们集成到您正在处理的日志中。 这能回答你的问题吗? How to get error information relating to TypeScript file lines number in node.js? 【参考方案1】:

您将需要一个“源映射”来将 JavaScript 行号映射到 TypeScript 行号。

您可以使用 source-map-support 节点模块执行此操作。首先在你的项目中安装它:

npm install source-map-support

然后将其添加到您的 TypeScript 文件 (index.ts):

require('source-map-support').install()

然后,如果你的函数崩溃,行号应该显示 TypeScript 源代码行。

【讨论】:

这真的很酷。 (我有点错过了 Node.js 在后台运行该函数的事实,但是……我也不知道,所以。:-))

以上是关于如何在 .ts 而不是 .js 中显示 Typescript 运行时错误/异常的主要内容,如果未能解决你的问题,请参考以下文章

在typescript项目中引入如何js依赖

@types/googlemaps/index.d.ts' 不是模块

错误 TS2300:node_modules/@types/core-js/index.d.ts 中的标识符“PropertyKey”重复

@mailchimp/mailchimp_marketing/types.d.ts' 不是 nodeJs 中的模块

如何在 React 和 TypeScript 项目中使用 types.d.ts 文件

tslint:禁用在 vscode 中不起作用