gpt4 book ai didi

typescript - 如何在 Firebase Cloud Function 可调用堆栈跟踪中显示 TypeScript 源代码?

转载 作者:行者123 更新时间:2023-12-04 02:32:39 24 4
gpt4 key购买 nike

我有一组云函数,它们执行类似 CRUD 的函数来获取单个资源、列出资源等等,getWidgetByURL , listWidgets , deleteWidget .
对于更广泛的上下文,这些都写在一个 src/service.ts 中。文件和 src/index.ts公开一组可调用对象:

import * as functions from 'firebase-functions'
import * as service from './service'

const region = 'europe-west1'

exports.addJob = functions.region(region).https.onCall(async (data, context) => {
try {
functions.logger.debug('addJob called with data', data)
const job = await service.addJob(data.title, data.company,
data.location, data.applyUrl, data.salary, data.tags)
return job
} catch (err) {
functions.logger.error(err)
throw new functions.https.HttpsError('internal', 'internal server error', err)
}
})
在开发周期中,我运行 npm run build在本地编译成 JavaScript 到目标 lib目录。注意 *.map文件产生。
enter image description here
在生产中,如果发生运行时错误,Firebase 控制台日志中显示的堆栈跟踪仅显示 .js 文件调用堆栈。
enter image description here
调试过程涉及必须在我的本地 lib/service.js 中定位运行时错误。文件,然后通过手动在对应的源代码中找到对应的行 lib/service.ts文件。乏味。
堆栈跟踪是否可以自动利用 .map 文件来生成更有用的东西?如果不是,最佳实践/工作流程是什么?

最佳答案

您可以使用模块source-map-support .只需使用 npm 安装模块,然后将一行代码放在 index.js 的顶部。

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

关于typescript - 如何在 Firebase Cloud Function 可调用堆栈跟踪中显示 TypeScript 源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63282527/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com