过去两天我一直在努力解决这个问题。我很好,真的很难过。也许知识比我更多的人可以对这个问题有所了解:
基本上,我在AngularJS中构建一个应用程序,目的是使用Cordova从中构建Android和iOS应用程序。我应该指定我在Linux和ngCordova上使用cordova-cli(插件包装)。我没有使用Ionic Framework。
我的应用在Chrome中运行良好。我完全按照ngCordova安装指南进行了操作:http://ngcordova.com/docs/install/
我用凉亭安装。然后在我的Web App项目的index.html(而不是Cordova项目)中包括以下内容:
<script src="lib/ngCordova/dist/ng-cordova.js"></script>
它没有用。我想也许是因为ng-cordova.js进入我的凉亭组件目录。所以我将脚本标记更改为:
bower_components/ngCordova/dist/ng-cordova.js
当我进入我的cordova项目目录并设置平台,插件等...并运行:
cordova build android
接着是
cordova run android
该应用在我的设备上运行(Nexus 5)。我使用chrome:// inspect来查看当我点击应该使用电子邮件编辑器插件的按钮时会发生什么:我得到了一个没有定义错误的cordova。
我进入控制器并将其放入
console.log($cordovaEmailComposer);
我可以在chrome:// insepct中查看它,它具有所有正确的函数等。所以ng-cordova.js运行正常(这就是插件的工厂所在)。
我99%肯定问题是,线路上的某处线路正在丢失。当我进入ProjectName / www / index.html中的cordova项目时,cordova.js的标记被注释掉了。
在platforms / android / assets / www / index.html文件中也是如此。
我追溯到它,在WebAppProject / dist / index.html文件中也是如此。它被评论出来了。因此,当我运行grunt时,似乎正在删除cordova.js。我想也许是因为cordova.js不在WebAppProject中,所以我将它带到了根目录(与index.html相同的位置),但它仍然发生了。
任何人都可以解释如何正常运作吗?我完全不知所措。我已尝试过百万种不同的方式来包括cordova.js。我甚至在cordovaproject / www / index.html中手动取消注释了它。该应用程序构建但在打开时崩溃(白屏然后死亡)表明缺少脚本(尽管cordova.js也是该目录...)。
这是咕噜声的构建过程吗?或者我完全错误地设置了一个ngCordova项目而没有意识到...我会发布一些代码,但我99%肯定问题是cordova.js或项目构建方式是基于grunt构建或cordova构建
非常感谢任何帮助。 :)
干杯, d
答案 0 :(得分:0)
确保在cordova.js之前和angular.js之后包含ngCordova。
<script src="/path/to/angular.js"></script>
<script src="/path/to/ng-cordova.js"></script>
<script src="/path/to/cordova.js"></script>