跳到主要内容

JavaScript 源映射解码器

解码 .map 文件的 Base64 VLQ 映射以找到缩小位置背后的原始源、行和列,浏览完整的生成到原始映射表,或将整个缩小的堆栈跟踪逆映射回您的源。

输入

Drop a file or browse
One file · text

.map 文件的内容,或从内联 //# sourceMappingURL= data: URI 解码的 JSON。

基于 1,如代码编辑器或浏览器堆栈跟踪中所示 — 一行中的第一个字符是第 1 列。

输出

原始位置
 
这对您有帮助吗?

使用指南

当捆绑器缩小您的 JavaScript 时,它会在旁边生成一个 .map 文件 — 一个 JSON 文档,将缩小输出中的每个位置映射回原始源中的一行和列。手动读取该映射意味着解码打包到地图 mappings 字段中的 Base64 VLQ(可变长度数量)段,这正是该工具为您所做的二进制算法工作。

如何使用

.map 文件的内容粘贴到源映射字段中(或直接上传),然后选择一种模式:

  • 查找位置 — 输入缩小的行和列(如在浏览器的 DevTools 或缩小代码查看器中所示),以获取原始文件、行、列和周围源代码的片段。
  • 完整映射表 — 查看源映射包含的每个生成到原始的映射,每个段一行。
  • 逆映射堆栈跟踪 — 粘贴整个缩小的堆栈跟踪,获得相同的跟踪,其中每个可识别的 file:line:column 都被重写到其原始位置。

在哪里找到源映射

大多数捆绑器(webpack、esbuild、Vite、Rollup、Terser)可以自动生成一个 — 在缩小文件的末尾查找 //# sourceMappingURL= 注释。如果它指向 .map URL,请获取该文件的内容;如果它是内联 data:application/json;base64,... URI,请解码 Base64 并将生成的 JSON 粘贴在这里。

常见问题

为什么位置查找需要基于 1 的行/列?

因为这是您在其他任何地方看到的 — 代码编辑器的行/列指示符、浏览器的 DevTools 和 JavaScript 堆栈跟踪都从 1 开始计数。该工具在内部转换为源映射实际使用的基于 0 的列,因此您无需自己做这个数学计算。

上下文代码片段是否总是显示?

仅当源映射嵌入原始文件的内容时才显示(sourcesContent)。某些构建工具会省略它以保持映射较小 — 没有它,该工具仍然可以报告确切的原始文件、行和列,只是没有代码预览。

如果我的堆栈跟踪跨越多个文件会怎样?

此工具将一个粘贴的源映射应用于它可以从中解析 file:line:column 的每一帧 — 文件名本身不匹配,因此它适用于完全来自一个包的堆栈跟踪。对于跨越多个捆绑文件的堆栈跟踪,一次逆映射几帧,使用每一帧实际所属文件的源映射。

我的代码未缩小 — 我只想阅读它

对于您想要重新格式化的未缩小、已可读的代码,请改用 JavaScript 代码格式化程序。要朝另一个方向走 — 将您的源缩小到源映射解码回的缩小文件 — 请参阅 JavaScript 缩小工具

隐私

一切都在您的浏览器中运行 — 源映射、堆栈跟踪和您上传的任何文件都不会离开您的设备。

sourcemapvlqwebpackbabelterserminifiedstack traceunminifydebugging

使用此工具的更多方式

REST API

curl -X POST https://api.iotools.cloud/v1/tool/source-map-decoder \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "position",
    "sourceMapText": "{\"version\":3,\"sources\":[\"src.js\"],\"sourcesConten…",
    "minifiedLine": "1",
    "minifiedColumn": "21",
    "contextLines": "1"
  }'

替换成您账户中的密钥。工具的字段即为请求体——没有额外包装。

让 AI 代理执行

Use the IOTools `source-map-decoder` tool (JavaScript Source Map Decoder) on this input:

YOUR_INPUT_HERE

将此粘贴给任何已连接 IOTools MCP 服务器的代理,再加上您的输入内容。

嵌入式小组件

<iframe
  src="https://iotools.cloud/embed/source-map-decoder/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="JavaScript 源映射解码器 — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

把它放到您自己的页面上——免费,无需密钥,只需保留一个反向链接。

每次调用费用5 积分起

也可通过

喜欢这些工具?去掉广告吧。

一次性付款即可永久移除您账户中的所有广告。无需订阅,不追踪。