我可以仅使用Google Closure来连接JavaScript文件吗?

时间:2014-07-16 12:42:51

标签: javascript google-closure-compiler google-closure

我最近有一个项目搬到了我的手中。它使用Google Closure将多个JS文件编译成一个final.js。有时我需要在浏览器中调试final.js,但问题是Closure总是压缩JavaScript代码,缩短函数和变量名。所以我无法在浏览器中正确调试final.js。

我的问题是,有没有办法使用Google Closure来连接JS文件而不压缩?

答案可能是一些CLI选项,甚至是黑客攻击源代码。

PS。我已经尝试了--formatting PRETTY_PRINT,但最终的代码仍然被压缩了。

2 个答案:

答案 0 :(得分:1)

WHITESPACE_ONLY和PRETTY_PRINT非常接近,但没有“concat”模式。编译器确实能够创建“输出包”,但它不会在命令行中公开:

https://github.com/google/closure-compiler/blob/52ae79693589834930cbfc01fe78f4efa8f6c518/src/com/google/javascript/jscomp/AbstractCommandLineRunner.java#L1966

答案 1 :(得分:0)

您最好只编写批处理文件或bash脚本来执行此操作。这样的事情应该适合你想要的东西:

@echo off
setlocal enabledelayedexpansion
del output.js
set argCount=0
for %%x in (%*) do (
   set /A argCount+=1
   set "argVec[!argCount!]=%%~x"
)
for /L %%i in (1,1,%argCount%) do ( 
    type !argVec[%%i]! >> output.js
    echo. >> output.js
)

使用

joinjs file1.js file2.js file3.js ...