源映射格式
{
version: 3, //Source Map(源映射)的版本號,目前統(tǒng)一使用版本 3
file: 'min.js', // (可選)生成文件的路徑(相對于 Source Map(源映射) 本身路徑)
names: ['bar', 'baz', 'n'], // (可選)所有名稱,如變量名、函數(shù)名
sourceRoot: 'http://example.com/www/js/', // (可選)所有源文件的根路徑(相對于 Source Map(源映射) 本身路徑)
sources: ['one.js', 'two.js'], //所有源文件的路徑(相對于 sourceRoot)
sourcesContent: ['', ''], //(可選)所有源文件的內(nèi)容
mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA' //所有映射點
}
所有地址可以是 http:// 開頭的網(wǎng)址或者是本地文件地址。
下面著重介紹mappings
mappings 是一個數(shù)組通過一定的方式編碼Base64 VLQ得到的。
結(jié)構(gòu)如下:
mappings = [
[ [生成文件的列,源文件索引,源文件行號,源文件列號,名稱索引], ...], // 第1行第1個映射點,第1行第2個映射點, ...
[ [生成文件的列,源文件索引,源文件行號,源文件列號,名稱索引], ...] // 第2行第1個映射點,第2行第2個映射點, ...
]
映射點的三種情況:
[生成文件的列]
[生成文件的列,源文件索引,源文件行號,源文件列號]
[生成文件的列,源文件索引,源文件行號,源文件列號,名稱索引]
源映射所有的行列號都是從0開始計數(shù)的。
mappings: [
[], //第0行
[], //第1行
[ //第2行
[1,0,2,5,1],
[4,0,3,6,0]
//包含了5個數(shù)字,分別表示
// 4 生成文件的列
// 0 源文件索引
// 3 源文件行號
// 6 源文件列號
// 0 名稱索引
]
]

sourceMappings.jpeg