谷歌闭包编译器源映射与多个文件

Google Closure Compiler SourceMap with multiple files

本文关键字:文件 映射 闭包 编译器 谷歌      更新时间:2023-09-26

如何指示谷歌闭包编译器为我的缩小文件创建一个映射文件,这些文件位于不同的文件夹中,保留正确的相对路径。

我什至无法在源映射生成中指定源根作为选项

我在/Js/common.js中有一个javascript文件,然后在/Admin/js/plugin.js中有一些其他文件

"C:'Program Files'Java'jre6'bin'java.exe" -jar "..'SolutionItems'Javascript'compiler.jar" --js ".'Js'Common.js" --js ".'Admin'assets'js'plugins.js" %*  --source_map_format=V3 --js_output_file "./Admin/Asset/Js/admin.min.js" --create_source_map "./Admin/Asset/Js/admin.min.map"

这是生成的 .map 文件

{
"version":3,
"file":"./Admin/Asset/Js/admin.min.js",
...
"sources":[".''Js''Common.js",".''Admin''assets''js''plugins.js"],
..
}

但它被浏览器误解了,因为它使用了/Admin/Asset/Js/的相对路径它试图在/Admin/Asset/Js/js/common.js中找到这些 JS 并/Admin/Asset/Js//Admin/Asset/js/common.js

-----更新-----

供将来参考:如果您不想将闭包编译器复制到 js 文件夹(像我一样),在调用它之前更改当前文件夹就足够了。

cd c:'Website'Admin'Asset'js
"C:'Program Files'Java'jre6'bin'java.exe" -jar "c:'SolutionItems'Javascript'compiler.jar"--js "../../../Js/Common.js" --js "plugins.js"  --source_map_format=V3 --js_output_file "admin.min.js" --create_source_map "admin.min.map"

admin/assets/js/文件夹运行编译器。您可以指定其他资源的输出路径。