2012-06-16 2 views
1

J'essaie d'optimiser le code run.js des tests CasperJS (https://github.com/n1k0/casperjs/blob/master/tests/run.js), afin que je puisse comprendre comment je peux l'utiliser plus loin pour optimiser davantage les tests que j'ai écrits. Voici l'exemple de run.js du projet CasperJS que j'essayais d'optimiser en utilisant l'indicateur ADVANCED_OPTIMIZATIONS dans le compilateur. (https://github.com/n1k0/casperjs/blob/master/tests/run.js) Mais le code optimisé est comme ci-dessous:Comment optimiser le projet CasperJS avec Google Closure?

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); 

, c'est évidemment un échec comme étant dit par le compilateur (Ex: JSC_INEXISTENT_PROPERTY: propriété casperLoaded jamais définie sur fantôme à la ligne 2 de caractère 5 si (phantom.casperLoaded))

Pouvez-vous s'il vous plaît me guider sur la façon d'utiliser le compilateur de fermeture, pour optimiser tous les JS fichiers dans le projet avec leurs dépendances, évitant ainsi ces erreurs et aller plus loin. J'ai parcouru la documentation pour la fermeture, mais je n'ai pas été en mesure de comprendre l'approche nécessaire dans ce cas.

FYI: J'utilisais la fermeture compiler.jar

+0

Pourquoi voulez-vous rapetisser les scripts casper, qui sont destinés à être exécuté côté serveur uniquement? – NiKo

+0

Salut, je n'essayais pas de minifier les scripts Casper de base. J'essayais de minimiser les scripts de test, après quoi j'ai vérifié qu'ils pouvaient fonctionner correctement avec l'invocation de Casper. La raison pour laquelle j'essaye de faire ceci est, mon référentiel de scripts de test est une autre machine, et la machine d'exécution de test est différente (sur laquelle résident CasperJs et PhantomJs). Lors de l'exécution des tests, ces scripts de test seraient extraits du référentiel et j'essaie d'obtenir des scripts miniaturisés afin de gagner du temps. Merci d'avance pour votre aide. – user1460887

Répondre

Questions connexes