如何使用google closure编译器优化命令行node.js Javascript工具?

如何使用google closure编译器优化命令行node.js Javascript工具?,javascript,google-closure-compiler,Javascript,Google Closure Compiler,我正在尝试使用googleclosure编译器优化一个命令行Javascript工具 我有以下Javascript源代码: // main.js console.log("test"); process.chdir("/"); console.log("arg: " + JSON.stringify(process.argv)); 我的标志文件如下(closure.conf): 我正在使用以下命令编译它: java -jar path/to/closure/compiler.jar --fla

我正在尝试使用googleclosure编译器优化一个命令行Javascript工具

我有以下Javascript源代码:

// main.js
console.log("test");
process.chdir("/");
console.log("arg: " + JSON.stringify(process.argv));
我的标志文件如下(
closure.conf
):

我正在使用以下命令编译它:

java -jar path/to/closure/compiler.jar --flagfile ./closure.conf --js main.js --js_output_file bundle.js
使用google闭包编译器编译,我得到了以下信息(在
bundle.js
):

正如我所看到的,闭包编译器不知何故认为
进程
是一个未定义的外部类,其方法可以很容易地进行调优/优化

但是它不好-
进程
是node.js环境提供的外部资源,其属性可以自由重命名。此外,
控制台
不能简单地进行优化

我认为应该存在某种方法,在这种方法中,我们可以指示闭包编译器了解命令行节点环境,并按其应该的方式处理其全局实体

类似的外部库也应该这样做。我正在考虑Java中的“导入”或C/C++中的头文件


我怎么能这样做?据我所知,closure有自己的API库,它们独立于命令行节点API。

就是您想要的。AFAIK闭包编译器的目的是使代码更小(对于浏览器而言),而不是更快。

谢谢!这只是一个很小的例子,我想要优化的实际代码要大得多。我还怀疑,至少速度也会有所提高,但要衡量它,首先我必须编译我的工具:-)另一个可能的原因是代码混淆。
java -jar path/to/closure/compiler.jar --flagfile ./closure.conf --js main.js --js_output_file bundle.js
'use strict';process.b("/");JSON.stringify(process.a);