调试器中使用源映射的混淆名称

15

使用grunt-contrib-uglify生成的源映射,在Chrome/Safari中调试器不显示未混淆的变量名。源代码被正确地显示和调试。我已经验证了源映射包含变量名。这是uglify中的一个bug吗?

原始内容:

// two

function two()
{
    var test = "test";

    console.log("this is a " + test);
}

生成的源代码:

function two(){var a="test";console.log("this is a "+a)}
//# sourceMappingURL=all.min.js.map

源映射:

{
    "version": 3,
    "file": "all.min.js",
    "sources": ["../src/two.js"],
    "names": ["two","test","console","log"],
    "mappings":";;AAEA,QAASA,OAEL,GAAIC,GAAO,MAEXC,SAAQC,IAAI,aAAeF",
    "sourceRoot":"../"
}

6
问题在这里:https://code.google.com/p/chromium/issues/detail?id=327092。 - raidendev
我建议将你的grunt-contrib-uglify设置包括 { compress: false, mangle: false }。虽然这会增加缩小文件的大小,但可能会缓解你所看到的问题。 - Adam Botley
1个回答

3

正如@rd5所指出的那样,这是谷歌浏览器中的问题327092,报告时间为2013年12月9日。

截至2018年7月1日,该问题仍未解决。


这个问题还存在吗?例如,我曾经遇到过源映射的情况,并且源映射包含完整的源代码 https://spectrum.chat/create-react-app/general/sourcemaps-not-working-in-production~2995d466-e080-4d35-8151-bad3e7f8fb98 例如 js.map 文件中的 "sourcesContent"。 - Colin D

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接