<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="细说JavaScript Source Map (sourceURL / sourceMappingURL)" id="card1">
<p> 游客</p><p>
标题:细说JavaScript Source Map (sourceURL / sourceMappingURL)<br/>
正文:<br/>
简单的说，SourceMap是为了压缩后的代码的调试提供方便。 比如：你在项目中引用了jquery.min.js（压缩后的代码），当有个js错误，我们通过控制台显示是第一行出差了，然而第一行有上万个字符，但是，浏览器的错误提示就是在第一行错了，晕，鬼知道第一行哪里错了，这种错误提示就是无意义的了。 纵使，你费了九牛二虎之力，找到错误端，比如：getJSON:function(e,t,n){return b.get(e,t,n,&amp;quot;json&amp;quot;)}，我的神，参数：e,t,n是干嘛用的？（压缩会把变量等缩写了，从而你不能见名之意） 对比如下代码：（这才是给人看的代码呀） getJSON: function( url, data, callback ) {    return jQuery.get( url, data, callback, &amp;quot;json&amp;quot; );}如果你还是不太理解：Source Map的话，那么，我假设你是.NET程序员（牛牛）吧。 牛牛，你知道.dll吗？ 和.dll并肩的有个同名的.pdb，pdb是什么呢？  你可以理解成&amp;ldquo;Source Map&amp;rdquo;就是pdb小葵花课堂开讲了：PDB文件是用来帮助软件的调试的，那么.NET PDB里都包含了什么：* 源代码文件名字和行数；//这些就是帮助我们调试时，定位错误的位置呢* 和局部变量的名字；* 所有的其他的数据都已经包含在了.NET Metadata中了；下边来详细的讲解一个Source Map:这是2.0版之前的最后一个新版本，有很多新功能，其中一个就是支持Source Map。访问 http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js，打开压缩后的版本，滚动到底部，你可以看到最后一行是这样的：//@ sourceMappingURL=jquery.min.map这就是Source Map。它是一个独立的map文件，与源码在同一个目录下，你可以点击进去，看看它的样子。这是一个很有用的功能，本文将详细讲解这个功能。一、从源码转换讲起JavaScript脚本正变得越来越复杂。大部分源码（尤其是各种函数库和框架）都要经过转换，才能投入<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=695&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=695&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=695&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=695&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=695&amp;Page=5">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=695">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=695">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>