我正在使用 Google Closure Compiler 来缩小我的JS脚本:https://developers.google.com/closure/compiler/docs/gettingstarted_app?hl=en
我正在使用的命令是:
java -jar /home/user/compiler/compiler.jar --js $File::Find::name --create_source_map $File::Find::name.map --source_map_format=V3 --compilation_level=WHITESPACE_ONLY --js_output_file $minified --charset=Windows-1251 --output_wrapper '%output%\n//# sourceMappingURL=output.js.map'
这很好,除了一件事 - .js.map 文件有文件的 FULL 路径,而不是相对的路径:
"version":3,
"file":"/home/user/public_html/new_design/common37.min.js",
"lineCount":375,
....
我假设我可以在调用compiler.jar脚本时更改它吗?否则,我想我将不得不在我的脚本中添加更多代码(不是我想做的事情,如果它可能“开箱即用”)
编辑:我在Perl脚本中做了一些肮脏的黑客攻击:
# now open the map file one, and edit it to remove the full path.. needs to be relative
my $contents = File::Slurp::read_file("/home/user/public_html/$tmp.map");
$contents =~ s|/home/user/public_html||g;
File::Slurp::write_file("/home/user/public_html/$tmp.map",$contents);
正确删除了路径信息。我更喜欢在 .map 文件中选择使用相对网址(与当前输入的完整路径相比)
谢谢!
答案 0 :(得分:1)
使用--source_map_location_mapping
标志指定源映射位置转换。该标志需要一个格式为:
--source_map_location_mapping=/filesystem/src/root|relative/source/root