Joh*_*ews 8 javascript ios angularjs cordova phonegap-build
我正在使用MikeMcl的BigNumber库来处理我对大数字的需求.我在Ionic/Angular项目中使用这个库.
正如在Github上所解释的那样,安装和使用这个库的方法是在你的html中包含一个脚本tage:
<!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>
Run Code Online (Sandbox Code Playgroud)
现在在我的代码中,我可以使用这个库作为例如:
x = new BigNumber(123.4567)
y = BigNumber('123456.7e-3')
z = new BigNumber(x)
x.equals(y) && y.equals(z) && x.equals(z) // true
Run Code Online (Sandbox Code Playgroud)
我对此进行了测试,它可以在Chrome和Safari上运行(甚至在设备上).
但是当我在手机上安装应用程序时,使用Phonegap Build,应用程序不再工作了(我通过从我的代码中删除BigNumber语法来检查这个库是什么原因).此外,应用程序中的Angular只是崩溃和显示,{{variableName}}并且没有任何工作.
因为我是在云环境中开发的,所以我尝试使用Mac上的Safari Developer Debug Console调试应用程序(通过将带有USB的手机插入Mac,然后在Safari中启用Developer工具).
但是,除了一个错误之外没有发现任何错误:
file not found: "path/to/ionic/lib/js/angular.min.js.map" 404
Run Code Online (Sandbox Code Playgroud)
但这不是问题的原因.
到底是怎么回事?我怎样才能在我的设备上使用这个javascript库?
找到了解决方案。如果您还遇到 JavaScript 库无法在您的设备上运行但在浏览器中运行的情况,那么这个答案可能会对您有所帮助。
出现问题是,当我运行npm install安装包时,它没有正确更新我的 .git 依赖项。发生的情况是,每次我通过 Github 和 Phonegap Build 打包我的应用程序时,BigNumber 的文件夹都没有被考虑在内。所以基本上,该文件bignumber.js在应用程序中不可用,这就是它不起作用的原因。
我通过将 BigNumber 文件夹中的所有文件复制到新的自定义文件夹中解决了这个问题。
一个相关的问题在这里:Git not Push all files andfolders
| 归档时间: |
|
| 查看次数: |
827 次 |
| 最近记录: |