Ich verwende die BigNumber-Bibliothek von MikeMcl , um meine Anforderungen für große Zahlen zu erfüllen. Ich verwende diese Bibliothek in einem Ionic / Angular-Projekt .
Wie auf Github erläutert, besteht die Methode zur Installation und Verwendung dieser Bibliothek darin, einen HTML-Code in Ihre HTML-Datei aufzunehmen :
%Vor%Jetzt in meinem Code kann ich diese Bibliothek wie zum Beispiel verwenden:
%Vor%Ich habe das getestet und es funktioniert gut in Chrome und Safari (sogar auf dem Gerät).
Aber wenn ich die App auf meinem Telefon installiere, mit Phonegap Build , funktioniert die App nicht mehr (ich habe überprüft, dass diese Bibliothek die Ursache ist, indem ich die BigNumber-Syntax aus meinem Code entferne). Außerdem stürzt das Angular in der App einfach ab und zeigt zum Beispiel {{variableName}}
und nichts funktioniert.
Da ich in einer Cloud-Umgebung entwickle, habe ich versucht, die App mithilfe der Safari Developer Debug Console auf einem Mac zu debuggen (indem ich mein Telefon mit einem USB-Anschluss an den Mac anschließe und dann die Entwicklertools in Safari aktiviere) >
Es wurden jedoch keine Fehler mit Ausnahme von einem gefunden:
%Vor%Aber das ist nicht die Ursache des Problems .
>Was ist los? Wie kann ich diese Javascript-Bibliothek noch auf meinem Gerät verwenden?
Die Lösung gefunden. Wenn Sie auch feststellen, dass eine JavaScript-Bibliothek auf Ihrem Gerät nicht funktioniert, aber im Browser funktioniert, hilft Ihnen diese Antwort möglicherweise.
Das Problem trat auf, als ich npm install
zur Installation des Pakets ausführte, damit meine .git-Abhängigkeiten nicht korrekt aktualisiert wurden. Was passiert ist, ist, dass jedes Mal, wenn ich meine App über Github und Phonegap Build gepackt habe, der Ordner BigNumber nicht berücksichtigt wurde. Im Grunde war die Datei bignumber.js
in der App nicht verfügbar und deshalb funktionierte sie nicht.
Ich habe es gelöst, indem ich alle Dateien aus dem BigNumber-Ordner in einen neuen benutzerdefinierten Ordner kopiert habe.
Eine verwandte Frage ist hier: Git schiebt nicht alle Dateien und Ordner
Ich habe gerade Ihren Code getestet und er funktioniert nicht, weil Sie beim Erstellen der y-Variablen nicht das Wort new verwenden.
Dies ist der Code, den ich benutzt habe und es funktioniert
%Vor%@JohnAndrews,
Wenn dies der Umfang Ihres Codes ist, fehlt der Listener deviceready . Auf cordova / phonegap können Sie normalerweise nichts tun, bis Sie das Ereignis deviceready erhalten. Also, das ist die einzige Sache, die ich mir vorstellen kann, können Sie ein function onDeviceReady() {}
hinzufügen und sehen, ob das Ihr Problem behebt?
Oh, und natürlich, stellen Sie sicher, dass Sie nach diesem Ereignis Ihre Operationen ausführen.
Tags und Links javascript angularjs cordova ios phonegap-build