指向原始文件的 React Native 堆栈跟踪

geo*_*lug 10 source-maps react-native metro-bundler

当我的 React Native 应用程序出现错误时,打印到控制台的堆栈跟踪指向而不是index.bundle原始源代码(请参见下面的示例)。有没有办法将 React Native 配置为使用源映射,以便日志正确显示?

仅当从异步回调或渲染之外的某些内容引发错误时,才会出现此问题。如果我在组件内抛出错误,则该错误会在控制台中显示正确的堆栈跟踪。有趣的是,错误始终在 LogBox 中显示正确的堆栈跟踪。

我正在react-native run-android通过 Metro 运行它并查看日志。为了澄清,我试图让它适用于本地调试版本,而不是生产/发布版本。理想情况下,日志会在控制台中显示正确的堆栈,这样我就不必手动符号化它们或在 LogBox 中查找错误。

console.error 的结果示例:

Error: Connection closed
    at anonymous (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.myapp.local&modulesOnly=false&runModule=true:261835:40)
    at forEach (native)
    at flushVolatile (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.myapp.local&modulesOnly=false&runModule=true:261833:33)
    at anonymous (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.myapp.local&modulesOnly=false&runModule=true:262065:20)
    at apply (native)
Run Code Online (Sandbox Code Playgroud)

先感谢您!

Wad*_*ade 0

如果您单击堆栈跟踪(例如在终端中),它会将您的 vscode 以及所有关联的文件拉到此位置吗?至少您可以在代码中找到问题所在?