aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/tools/debugger/how_to/use_a_source_map/index.html
blob: 720ef166221035f5531402b54a2bde8bc2bf2b21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
---
title: 使用 source map
slug: Tools/Debugger/How_to/Use_a_source_map
tags:
  - Use a source map
  - source map
translation_of: Tools/Debugger/How_to/Use_a_source_map
---
<div>{{ToolsSidebar}}</div>

<div>被浏览器执行的JavaScript代码通常会以某种方式从开发人员创建的原始资源中转译而来。例如:</div>

<ul>
 <li>源码通常会合并和最小化以高效的从服务器端获取</li>
 <li>页面中运行的JavaScript通常是机器生成的,就像从CoffeeScript或TypeScript这样的语言编译时一样。</li>
</ul>

<p>在这些场景下,调试原始源代码会比浏览器下载的转换后的代码更加容易。 <a href="http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/">source map</a> 是从已转换的代码映射到原始源的文件,使浏览器能够重构原始源并在调试器中显示重建的原始源。</p>

<p>为了调试工作能够使用source map,你必须:</p>

<ul>
 <li>生产一个source map</li>
 <li>加入一个注释在转换后的文件,它指向source map。注释的语法类似:</li>
</ul>

<pre class="brush: js"><code>//# sourceMappingURL=http://example.com/path/to/your/sourcemap.map</code></pre>

<p>{{EmbedYouTube("Fqd15gHC4Pg")}}</p>

<p>在此视频我们加载了 <a href="https://mdn.github.io/devtools-examples/sourcemaps-in-console/index.html">https://mdn.github.io/devtools-examples/sourcemaps-in-console/index.html</a>. 页面加载一个名为“main.js”的源,该源最初是用CoffeeScript编写的,并编译为JavaScript。已编译的源包含这样的注释,指向源映射:</p>

<pre class="brush: js"><code>//# sourceMappingURL=main.js.map</code></pre>

<p>在调试器的 <a href="/en-US/docs/Tools/Debugger/UI_Tour#Source_list_pane">source list pane</a> 中,原始的CoffeeScript源现在显示为“main.coffee”,我们可以像调整任何其他源一样调试它。.</p>