2016-11-07 3 views
-1

Ich bin gerade von der Verwendung der veralteten cfx zu jpm für die Entwicklung meiner Firefox-Add-ons gewechselt. Jedes Mal, wenn ich meinen Code ändere und ihn erneut testen möchte, muss ich den Befehl "jpm run" verwenden, um den Browser mit dem neuen Code innerhalb von 3 bis 5 Minuten zu starten. Dies macht es ziemlich unmöglich, mein Add-on zu entwickeln, da ich jedes Mal, wenn ich eine neue Codezeile testen möchte, einige Minuten warten muss.Testen mit JPM Run ist extrem langsam

Diese Art von Problem tritt in Chrome nicht auf, so dass ich nicht sicher bin, was die Leute bei Mozilla denken. Wollen sie es fast unmöglich machen, Add-ons für ihren Browser zu entwickeln?

Was machen andere Firefox-Add-On-Entwickler, um ihren Code zu testen? Haben sie nur Stunden damit zugebracht, den Browser sehr langsam zu starten und neu zu starten? Oder gibt es einen Workaround?

+0

Starten von Firefox mit 'jpm run' und einem minimalen Add-on dauert weniger als 10 Sekunden (nur getestet). Wie groß ist dein Add-on? Welche Version von 'jpm --version' verwendest du? Welche Firefox-Version verwendest du? Viele weitere Informationen sind erforderlich (z. B. Maschinentyp, Betriebssystem usw. usw.). – Makyen

+0

Ich habe es unter 30 Sekunden durch Löschen einiger Dateien in meinem Add-On-Ordner (es war wie 50 MB).Ich hatte einige Kopien der XPI-Datei selbst drin und das hätte sie vielleicht verlangsamt. Es ist immer noch super nervig, dass ich den Browser jedes Mal neu starten muss. Ich benutze Firefox Developer Edition und es sollte wirklich eine Möglichkeit geben, nur unverpackte Add-ons sideload wie es in Chrome ist. Wenn ich in Chrome entwickle, muss ich nur die Seite "chrome: \\ extensions" aufrufen und auf "Aktualisieren" klicken, um die neueste Version meiner Arbeit zu sehen. – user1850261

Antwort

0

Sie können stattdessen jpm watchpost zusammen mit dem Auto-Installer der Erweiterung verwenden, um die Erweiterung in einer laufenden Firefox-Sitzung automatisch neu zu laden.

Aber auch ohne sollte es nicht Minuten dauern, nur Sekunden.

+0

Probieren Sie dies mit jpm post --post-URL http: // localhost: 8888 /, aber ich bekomme einen Fehler ECONNREFUSED. Irgendeine Idee warum? – user1850261

0

Wie the8472 has mentioned können Sie Add-on-SDK-Erweiterungen without the need to restart the browser using jpm mit jpm watchpost testen. Dies zu verwenden scheint ein wenig zu konfigurieren. Ich habe das nicht benutzt, da ich das Add-On bei jedem Schreiben in eine Datei automatisch etwas nervig finden würde. Ich ändere häufig mehrere Dateien oder mache mehrere Schreibvorgänge in derselben Datei zwischen den Zeiten, zu denen ich das Add-On zum Testen ausführe. Grundsätzlich möchte ich mehr Kontrolle darüber haben, wann das Add-On neu geladen wird, als wenn es bei jeder Änderung einer Datei automatisch ausgeführt wird.

Es gibt eine Möglichkeit, temporary add-ons zu laden, die sowohl für entpackte Add-Ons als auch .xpi Dateien funktioniert. Das Problem ist, dass Ihr Add-On vor der Ausführung von jpm kein komplettes Firefox-Add-On ist. jpm fügt Wrapper um den Inhalt Ihres Add-ons hinzu, um es zu einem normal bootstrapped add-on zu machen. Ohne diese Wrapper funktioniert Ihr Add-on nicht. Eine Möglichkeit wäre, jedes Mal, wenn Sie eine neue Version testen möchten, jpm xpi auszuführen: Wenn Sie das Add-On zunächst als temporäres Add-On geladen haben, würden Sie jpm xpi ausführen und dann auf die Schaltfläche "Neu laden" klicken. an in about:debugging.

[Diese Methode wird Probleme haben, die Sie benötigen, um zu arbeiten, durch]: Alternativ können Sie die .xpi Datei entpacken konnte und Ihre Entwicklung aus den in den resultierenden Verzeichnissen Dateien fortsetzen, während die temporäre Add-On-Verfahren Installieren Sie Ihr Add-on (klicken Sie auf eine Datei in dem Verzeichnis, in das Sie die Dateien entpackt haben, um sie als temporäres Add-On zu installieren). Diese Methode kann jedoch verhindern, dass Sie mit Ihrem Add-On überhaupt jpm verwenden. Darüber hinaus führt jpm etwas andere Aktionen aus, wenn Sie Ihr Add-on je nach Inhalt Ihres Add-Ons in eine .xpi Datei packen. Wenn dies der Fall ist, können die Dinge zu brechen beginnen, wenn Sie die Funktionalität Ihres Add-Ons erheblich ändern (z. B. Änderungen in package.json werden nicht an install.rdf weitergegeben). Bei dieser Methode müssen Sie wahrscheinlich ein "normal", non-jpm method of creating an .xpi file verwenden, wenn Sie Ihr Add-on veröffentlichen möchten.