簡體   English   中英

Cordova / phonegap項目中的“要求”例外

[英]“Require” exception in Cordova/phonegap project

我正在嘗試使用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事件自動包含它- 波紋模擬器

我有各自網站的phonegap和cordova的下載副本。 我已經安裝了Node.js並安裝了軟件包。

我的問題是:

  • 在哪里可以找到正確的cordova.js文件? 哪個是我的html文件項目中包含的正確版本?
  • Node.js的用戶在這里是什么?
  • 它是否設計為自動包含基於Node.js的腳本? 如果是這樣,我錯過了什么?

我承認node.js的概念和用法對我來說看起來像火箭科學。

不要使用插件來源的插件* .js文件。

不要將插件* .js文件作為標簽添加到您的html中
(Cordova基於cordova_plugins.js自行加載它們)

特定錯誤'require not defined'來自plugins.js中缺少的cordova定義

cordova.define("org.apache.cordova.file.DirectoryEntry", function(require, exports, module) {

});

為了避免所有這些麻煩:

使用cordova命令行界面來設置平台和插件。 它管理所有本機和javascript源文件,並以正確的方式將它們組合在一起。

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工具的一些用例: 是否應在config.xml文件中聲明phonegap插件?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM