4

Android プラットフォームで Phonegap/Cordova を使用してハイブリッド モバイル アプリを構築しようとしています。そして、私もそれで成功しました :) アプリは、Chrome ブラウザーの Ripple エミュレーターで希望どおりに動作します。エミュレーターがすぐに読み込まれないため、Eclipe ADT または Android Studio を使用していません。

バイブレーションとアラートに onDeviceReady イベントと Navigator プラグインを使用しました。これらはすべて期待どおりに機能します。

開発者コンソールが Chrome でアクティブな場合、JavaScript が cordova.js で次のエラーで中断します。

Uncaught ReferenceError: require is not defined 

次の行で。同じことが notification.js ファイルにも起こります。デバッガーで続行を押すと、そのエラーを除いて、すべてが期待どおりに機能します。

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 でアプリが正常に動作するのはなぜでしょうか。

Ripple は phonegap deviceready イベントごとに自動的に含まれているため、cordova.js ファイルを削除しようとしました- リップル エミュレーター

phonegap と cordova のダウンロード コピーをそれぞれのサイトから持っています。Node.js をインストールし、パッケージもインストールしました。

ここでの私の質問は次のとおりです。

  • 正しい cordova.js ファイルはどこにありますか? HTML ファイル プロジェクトに含める正しいバージョンはどれですか?
  • ここの Node.js のユーザーは何ですか?
  • Node.js に基づくスクリプトを自動的に含めるように設計されていますか? もしそうなら、私は何が欠けていますか?

正直に言うと、node.js の概念と使用法は、私にとってロケット サイエンスのように思えます。

4

2 に答える 2

6

プラグイン ソースからプラグイン *.js ファイルを使用しないでください。

プラグイン *.js ファイルをタグとして html に追加しないでください
(Cordova は cordova_plugins.js に基づいて独自にロードします)。

特定のエラー「require is not defined」は、plugins.js での cordova define の欠落に起因します。

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

});

この問題をすべて回避するには:

コルドバ コマンド ライン インターフェイスを使用して、プラットフォームとプラグインをセットアップします。すべてのネイティブおよび JavaScript ソース ファイルを管理し、それらを適切な方法でまとめます。

于 2014-03-21T10:48:32.240 に答える
3

Cordova と Phonegap はほとんど同じものです。両方をダウンロードする必要はありません。Cordova は、HTML5 アプリを複数の異なるモバイル OS に公開するのに役立つオープン ソース プロジェクトです。Phonegap はそれを行うために Cordova を使用しますが、いくつかの追加機能も追加します。ほとんどの場合、ワークステーションではなくクラウドで構築できます。

Node.js は、多くのビルド手順で Cordova によって使用されます。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 プラグインを宣言する必要がありますか?

于 2013-11-06T18:16:15.213 に答える