1

我正在尝试优化 CasperJS 测试 run.js 代码(https://github.com/n1k0/casperjs/blob/master/tests/run.js),以便我可以了解如何进一步使用它来优化进一步我写的测试。这是我尝试使用编译器的 ADVANCED_OPTIMIZATIONS 标志优化的 CasperJS 项目的示例 run.js。(https://github.com/n1k0/casperjs/blob/master/tests/run.js) 但优化后的代码如下:

phantom.d || (console.log("This script must be invoked using the casperjs executable"), phantom.c(1)); var a = require("fs"), c = require("utils").h, d = require("casper").create({g:!1}); d.options.n = d.a.get("direct") || !1; d.options.i = d.a.get("log-level") || "error"; d.m("open.location", function(b) { return!/^http/.test(b) ? c("file://%s/%s", phantom.e, b) : b }); var e = []; d.a.b.length ? e = d.a.b.filter(function(b) { return a.isFile(b) || a.isDirectory(b) }) : (d.f("No test path passed, exiting.", "RED_BAR", 80), d.c(1)); d.test.j("tests.complete", function() { this.k(true, void 0, d.a.get("xunit") || void 0) }); d.test.l.apply(d.test, e);

显然,编译器告诉这是失败的(例如:JSC_INEXISTENT_PROPERTY: Property casperLoaded never defined on phantom at line 2 character 5 if (!phantom.casperLoaded))

您能否指导我如何使用 Closure 编译器来优化项目中的所有 JS 文件及其依赖项,从而避免这些错误并继续进行。

我浏览了 Closure 的文档,但我无法弄清楚这种情况下所需的方法。

仅供参考:我使用的是 Closure compiler.jar

4

1 回答 1

0

已向 Closure Compiler 添加了支持,以便使用以下编译器标志更轻松地使用Common JSAMD/require.js模块:

  • --transform_amd_modules
  • --process_common_js_modules
  • --common_js_entry_module
  • --common_js_module_path_prefix

请参阅Closure Compiler 中对 Common JS 和 AMD/require.js 模块的实验性支持

于 2012-06-16T18:31:39.653 回答