web-dev-qa-db-ja.com

Phonegapアプリケーションのエラー:キャッチされていないモジュールcordova / plugin_listが既に定義されています

Phonegap 2からPhonegap 3.3に更新したことで多くの問題を解決しようとしてきましたが、これを修正できないようです。

一部のユーザーから、キャッチされていないモジュールの例外により、インポートされたプラグインが機能しなくなることがあると読んでいます。ローカル通知プラグインにいくつかの奇妙なバグがあるため、この問題を修正し、それが役立つかどうかを確認したいと思います。

Eclipse内のlogcatに表示されるエラーは次のとおりです。

[INFO:CONSOLE(79)] "Uncaught module cordova/plugin_list already defined", source: file:///Android_asset/www/cordova.js (79)

これはPhonegap 3の性質から生じる奇妙な問題であることを知っています(プラグインが修正されました)。そして、問題はそのスクリプトの一番上の行が読むようにcordova_plugins.jsスクリプトをインポートすることにあると思います:

cordova.define('cordova/plugin_list', function(require, exports, module) {
module.exports = [
{
    "file": "plugins/org.Apache.cordova.file/www/DirectoryEntry.js",
    "id": "org.Apache.cordova.file.DirectoryEntry",
    "clobbers": [
        "window.DirectoryEntry"
    ]
}, ...

そして、これはエラーで参照されているcordova/plugin_listの存在を見つけることができる唯一の場所です。

ただし、この問題を修正する正しい方法がわかりません。プラグインをインポートするためにプラグマンを使用しませんでしたが、代わりにPhonegap 3.3 APIで概説されているCLIコマンドを使用しました

22
Gthoma2

この問題の原因の1つは、htmlファイルにcordova_plugins.jsをインポートすることです。

該当するかどうかを確認し、削除してください。

22
grytrn

ファイルcordova.jsは、自動的にcordova_plugins.jsをロードします。

したがって、このエラーが発生する別の明白な方法は、ページに次のコードを誤って2回配置した場合です。

<script type="text/javascript" src="cordova.js"></script> 

ページの上部と下部の両方にcordova.jsを追加したことを認識するためだけに、この同じエラーで数時間を失いました。

16
elMarquis