我想在我们正在使用的javascript源代码上使用google封闭编译器.在开发模式中,我们倾向于将功能分解为大量文件,但是对于生产而言,它们希望将它们组合到模块中.
在调用编译器时,我可以给它一个要包含的文件列表进行编译,但是它的输出显示编译器没有保存文件列表的顺序.
我搜索了它,发现我可以使用goog.provide/good.require来控制不同js文件之间的依赖关系.问题在于它为我的js添加了我不需要或不想要的代码,例如:
goog.provide("mainFile")
Run Code Online (Sandbox Code Playgroud)
将添加这个:
var mainFile = {};
Run Code Online (Sandbox Code Playgroud)
到编译的js文件,我不想要的东西.我们根本没有使用谷歌闭包库,我想要使用的只是编译器.
有没有办法告诉编译器文件的顺序,而不包括我不需要的更多"闭包库"功能?我当然可以创建一个我自己的工具,它将首先获取所有文件,将它们组合成一个然后将成为编译器输入的文件,但如果它可以由编译器本身完成,我宁愿无效.
目标是能够像这个线程中的答案一样生成模块:使用Closure Compiler中的--module选项创建多个输出文件
所以我想补充一点,就是能够控制哪些文件进入哪个模块,同时控制他们的订单.现在我不使用通配符,但我计划将来这样做(如果可能的话).
简单地说"cat file1.js file2.js> combined.js && compile ..."很好,但在我们的例子中它有点复杂,我们必须编写一个基于某些逻辑来执行该操作的程序/脚本.如果我们能以某种方式告诉编译器高级文件的顺序,它可能只是节省实现这样一个程序的时间.
谢谢.