Sto usando lo BigNumber library of MikeMcl per gestire le mie esigenze di numeri grandi. Io uso questa libreria in un Ionic/Angular project.La libreria Javascript non funziona su Dispositivo
Come spiegato sul Github, il modo di installare e utilizzare questa libreria è quello di includere un tage scritto nel tuo html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<title></title>
<!-- compiled css output -->
<link href="css/ionic.app.min.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<!-- ionic/angularjs js -->
<script src="lib/ionic/js/ionic.bundle.min.js"></script>
<!-- cordova script (this will be a 404 during development) -->
<script src="lib/ngCordova/dist/ng-cordova.min.js"></script>
<script src="cordova.js"></script>
<!-- ********* BIGNUMBER library ********* -->
<script src='lib/bignumber.js/bignumber.min.js'></script>
<script src="js/app.js"></script>
<script src="js/controllers.js"></script>
<script src="js/services.js"></script>
</head>
<body ng-app="starter">
<ion-nav-view></ion-nav-view>
</body>
</html>
Ora nel mio codice, posso usare questa libreria come per esempio:
x = new BigNumber(123.4567)
y = BigNumber('123456.7e-3')
z = new BigNumber(x)
x.equals(y) && y.equals(z) && x.equals(z) // true
Ho provato questo e funziona bene su Chrome e su Safari (anche sul dispositivo).
Ma quando installo l'applicazione sul mio cellulare, utilizzando PhoneGap Costruire, l'applicazione non funziona più (ho controllato che questa libreria è la causa rimuovendo le sintassi BigNumber dal mio codice). Inoltre, l'Angular nell'app si blocca e mostra ad esempio {{variableName}}
e non funziona nulla.
Poiché sviluppo in un ambiente cloud, ho provato a eseguire il debug dell'applicazione utilizzando la Developer Debug Console di Safari su un Mac (collegando il mio telefono con una USB al Mac e abilitando gli strumenti di sviluppo in Safari).
Tuttavia, nessun errore sono stati trovati con l'eccezione di uno:
file not found: "path/to/ionic/lib/js/angular.min.js.map" 404
Ma this is not the cause of the problem.
Cosa sta succedendo? Come posso usare ancora questa libreria javascript sul mio dispositivo?
Sì, [i file '.map' sono estranei] (http://stackoverflow.com/questions/21719562/javascript-map-files-javascript-source-maps). Hai provato a testare la libreria BigNumber da sola o semplicemente provandola su un sito HTML standard senza Cordova? Perché non riesco a pensare a una ragione per cui Cordova sarebbe incompatibile con esso. – Huey
@Huey Grazie per averlo confermato. Ho testato la libreria in questa app Ionic, che non ha il file cordova.js quando viene testato nel browser (404), ma solo quando è distribuito sul dispositivo; quindi in una certa misura possiamo dire che l'abbiamo testato da solo. – JohnAndrews
usa il nuovo BigNumber per y, è ok –