我正在使用MikeMcl的BigNumber库来处理大数字。我在一个Ionic/Angular项目中使用这个库。
正如在Github上所解释的那样,安装和使用此库的方法是在您的html中包含一个脚本标签:
现在在我的代码中,我可以像这样使用这个库:
我测试过了,它在Chrome和Safari上都可以正常工作(甚至在设备上也是如此)。
但是当我使用Phonegap Build将应用程序安装到手机上时,应用程序不再工作(我通过从代码中删除BigNumber语法来检查该库是原因)。此外,应用程序中的Angular会崩溃,并显示例如
由于我在云环境中开发,所以我尝试使用Safari Developer Debug Console在mac上调试应用程序(通过使用USB将我的手机连接到mac,然后在Safari中启用开发人员工具)。
然而,除了一个异常之外,没有发现任何错误:
正如在Github上所解释的那样,安装和使用此库的方法是在您的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>
现在在我的代码中,我可以像这样使用这个库:
x = new BigNumber(123.4567)
y = BigNumber('123456.7e-3')
z = new BigNumber(x)
x.equals(y) && y.equals(z) && x.equals(z) // true
我测试过了,它在Chrome和Safari上都可以正常工作(甚至在设备上也是如此)。
但是当我使用Phonegap Build将应用程序安装到手机上时,应用程序不再工作(我通过从代码中删除BigNumber语法来检查该库是原因)。此外,应用程序中的Angular会崩溃,并显示例如
{{variableName}}
,没有任何东西能够工作。由于我在云环境中开发,所以我尝试使用Safari Developer Debug Console在mac上调试应用程序(通过使用USB将我的手机连接到mac,然后在Safari中启用开发人员工具)。
然而,除了一个异常之外,没有发现任何错误:
file not found: "path/to/ionic/lib/js/angular.min.js.map" 404
但是这不是问题的原因。
发生了什么?我如何在我的设备上继续使用这个javascript库?
.map
文件与此无关。你尝试过单独测试BigNumber库,或者在标准HTML网站上尝试它而不使用Cordova吗?因为我想不出Cordova会与其不兼容的原因。 - Huey