1.如果啟用了source map,瀏覽器是不是一開始就把source map文件和源碼一起下載回來?如果是這樣的話,在開發(fā)者工具的network里面沒有看到map文件的請求,是因為chrome沒有暴露出來嗎?
2.或者有另外一個可能,如果源碼運(yùn)行沒有報錯,瀏覽器就不會去請求map文件,減少數(shù)據(jù)傳輸,是一種優(yōu)化機(jī)制?只有當(dāng)源碼運(yùn)行報錯的時候,才會去下載map文件?
3.map文件本意是為了讓壓縮過的代碼還原,但是如果我為了保護(hù)代碼,線上不使用map文件;開發(fā)環(huán)境又不壓縮合并代碼,那么map文件的實(shí)際意義何在?
答:1)。如果使用原生js,map文件的意義只是讓壓縮過的代碼還原,min.js->js,那么確實(shí)沒有實(shí)際意義,線上為了保護(hù)代碼不用,開發(fā)環(huán)境不壓縮代碼,也不需要使用;2)。如果使用jsx寫react,流程是從jsx->js,js->min.js的,那么map文件的意義就不只是逆向從min.js->js,還包括從js->jsx的還原,那么開發(fā)環(huán)境使用map文件還是有意義的,能還原成最初的jsx文件。