微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – Cordova / phonegap项目中的“Require”异常

我正在尝试使用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 举报,一经查实,本站将立刻删除。

相关推荐