我是JavaScript的缩小新手。这是问题的设定:
假设我们有一个原始的JavaScript代码A及其缩小的代码A'(由像UglifyJS或Closure Compiler这样的缩小器生成),我该怎么做:
计算已重命名的变量数,
将每个变量的原始名称映射到其缩小的名称
欢迎使用任何详细说明,使用UglifyJS或Closure Compiler工具会更好:)
答案 0 :(得分:0)
有两种方法:
1)Closure Compiler可以为属性和变量生成“重命名映射”。地图不包含未经调整的变量,因此您仍有一些工作要做。请参阅--variable_renaming_report命令行选项https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/CommandLineRunner.java#L215。
2)Closure Compiler和其他工具生成源映射。源映射可用于将每个字节映射回原始字符中的原始字符。
对于第二个,Closure Compiler项目包括一个用于读取源映射的Java库: https://github.com/google/closure-compiler/blob/master/src/com/google/debugging/sourcemap/SourceMapConsumerV3.java#L225
还有javascript源地图实用程序: https://github.com/mozilla/source-map/