我正在尝试使用Android平台中的Phonegap / Cordova构建混合移动应用程序.而且我也成功了:)该应用程序在我的Chrome浏览器中按照Ripple模拟器的需要运行.我没有使用Eclipe ADT或Android Studio,因为模拟器无法快速加载.
我使用onDeviceReady事件和Navigator插件进行振动和警报.所有这些都按预期正常工作.
当开发者控制台在Chrome中处于活动状态时,JavaScript会在cordova.js中断,并显示以下错误
Uncaught ReferenceError: require is not defined
在以下行中.对于notification.js文件也是如此.当我在调试器中按下continue时,除了该错误之外,所有内容都会按预期再次运行.
var cordova_events = require('./src/events'),
java脚本文件的顺序如下所示.
<script src="js/cordova.js"></script>
<script src="js/notification.js"></script>
<script src="js/vibration.js"></script>
我相信我没有引用正确的cordova.js文件和所有其他依赖项.但我也想知道当开发者控制台不活动时,应用程序如何在Ripple中正常工作.
我甚至试图删除cordova.js文件,因为Ripple按照phonegap deviceready event – ripple emulator自动包含它
我有各自网站的phonegap和cordova的下载副本.我已经安装了Node.js并安装了软件包.
我的问题是:
>在哪里可以找到正确的cordova.js文件?哪个是我的html文件项目中包含的正确版本?
> Node.js的用户是什么?
>它是否设计为自动包含基于Node.js的脚本?如果是这样,我错过了什么?
我承认node.js的概念和用法对我来说看起来像火箭科学.
解决方法:
Cordova和Phonegap几乎是一回事,你不需要同时下载它们. Cordova是一个开源项目,可帮助您将HTML5应用程序发布到多个不同的移动操作系统. Phonegap使用Cordova来做到这一点,但也增加了一些额外的功能,主要是只能在云中而不是在工作站上构建.
Cordova使用Node.js进行许多构建步骤.由于Cordova适用于OSX和Windows机器,我们需要一种编写可在两个操作系统上运行的构建和包脚本的方法 – node.js提供了这种方法.当您使用Cordova构建应用程序时,您根本不应该使用node.js,除非您还构建了一个补充后端系统.
从Cordova 3.x开始,有一个cordova命令行工具可以极大地帮助您创建应用程序.它负责复制正确的cordova.js和cordova-android.jar文件.你可以在这里阅读http://cordova.apache.org/docs/en/edge/guide_cli_index.md.html#The%20Command-line%20Interface
设置完成后,您可能需要阅读我的其他答案,其中阐明了cordova工具的一些用例:Should a phonegap plugin be declared in the config.xml file?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。