我正在尝试优化 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