2011-01-12 75 views
3

我有一个shell脚本,它收集页面上的所有.js文件,并将它们连接起来以使用闭包编译器进行编译。不过,我不希望特定的js文件通过编译器进行优化。例如,我有命令来编译fileA.js,fileB.js和fileC.js。我如何注释跳过fileB.js,但仍然按照正确的顺序将它放在输出文件scripts.min.js中?因此,fileA.js和fileC.js将使用SIMPLE_OPTIMIZATION进行优化,fileB.js不会被触及。有一个关键字我可以放在文件本身的评论中说,跳过这个文件?闭包编译器跳过文件

java -jar compiler.jar --js=fileA.js --js=fileB.js --js=fileC.js --js_output_file=scripts.min.js 

谢谢!

+0

你不应该这样做。关闭建议不要混合编译和未编译的代码。你究竟想要达到什么目的,无法将所有3个文件一起编译? – EMMERICH 2011-03-02 11:20:35

回答

2

如果我在这里理解你的意图,你可以考虑分别处理每个你想要缩小的文件,然后把它作为一个单独的步骤来执行。在伪代码中:

minify fileA.js 
minify fileC.js 
cat fileA.js fileB.js fileC.js >scripts.min.js 
1

没有关键字可以放在任何范围内以表示“忽略我”。 nullptr有正确的建议。在我们的项目中,我们创建了一些简单的预处理注释并使用它们来控制流程。但是,如果要一次性完成,只能在缩小的代码之前或缩小的代码之后忽略并包含文件。所以,nullptr的解决方案是唯一的解决方案。请记住使用extern文件,以便变量重命名(而不是重命名)正常工作。