2017-09-14 11 views
0

私は私がアンドロイドPhoneGapのビルド1を実行すると、最新バージョン7.0.1PhoneGapの7はpackage.json

に反応してのWebPACKで構築されて、私のPhoneGap/Cordovaのアンドロイドアプリケーションをアップグレードしようとしているをいじりされphonegapが行っている新しいことは、私のcordovaプラグインのすべての依存関係をpackage.jsonに自動的に更新することです。さらに、cordovaに関するセクションを追加します。

phonegap buildの実行後、 package.json:

"dependencies": {    
     // my normal dependencies 
     ... 
     "counterpart": "0.18.2", 
     "react": "15.6.1", 
     ... 

     // added by phonegap  
     "cordova-android": "^6.2.3", 
     "cordova-plugin-battery-status": "~1.1.1", 
     "cordova-plugin-camera": "~2.1.1", 
     "cordova-plugin-console": "~1.0.2", 
     "cordova-plugin-contacts": "~2.0.1", 
     "cordova-plugin-crosswalk-webview": "^2.3.0", 
     "cordova-plugin-customurlscheme": "~4.3.0", 
     "cordova-plugin-device": "~1.1.2", 
     "cordova-plugin-device-motion": "~1.2.0", 
     "cordova-plugin-device-orientation": "^1.0.7", 
     "cordova-plugin-dialogs": "~1.2.0", 
     "cordova-plugin-file": "~4.1.1", 
     "cordova-plugin-file-transfer": "~1.5.0", 
     "cordova-plugin-geolocation": "~2.2.0", 
     "cordova-plugin-globalization": "~1.0.3", 
     "cordova-plugin-inappbrowser": "~1.3.0", 
     "cordova-plugin-media": "~2.2.0", 
     "cordova-plugin-media-capture": "~1.2.0", 
     "cordova-plugin-network-information": "~1.2.1", 
     "cordova-plugin-screen-orientation": "^2.0.1", 
     "cordova-plugin-screensize": "1.3.1", 
     "cordova-plugin-splashscreen": "~3.2.1", 
     "cordova-plugin-statusbar": "~2.1.3", 
     "cordova-plugin-vibration": "~2.1.5", 
     "cordova-plugin-whitelist": "~1.2.2" 
    }, 
    "cordova": { 
    "platforms": [ 
     "android" 
    ], 
    "plugins": { 
     "cordova-plugin-battery-status": {}, 
     "cordova-plugin-camera": {}, 
     "cordova-plugin-console": {}, 
     "cordova-plugin-contacts": {}, 
     "cordova-plugin-crosswalk-webview": {}, 
     "cordova-plugin-customurlscheme": { 
      "URL_SCHEME": "essforms", 
      "ANDROID_SCHEME": " ", 
      "ANDROID_HOST": " ", 
      "ANDROID_PATHPREFIX": "/" 
     }, 
     "cordova-plugin-device": {}, 
     "cordova-plugin-device-motion": {}, 
     "cordova-plugin-device-orientation": {}, 
     "cordova-plugin-dialogs": {}, 
     "cordova-plugin-file": {}, 
     "cordova-plugin-file-transfer": {}, 
     "cordova-plugin-geolocation": {}, 
     "cordova-plugin-globalization": {}, 
     "cordova-plugin-inappbrowser": {}, 
     "cordova-plugin-media": {}, 
     "cordova-plugin-media-capture": {}, 
     "cordova-plugin-network-information": {}, 
     "cordova-plugin-screen-orientation": {}, 
     "cordova-plugin-screensize": {}, 
     "cordova-plugin-splashscreen": {}, 
     "cordova-plugin-statusbar": {}, 
     "cordova-plugin-vibration": {}, 
     "cordova-plugin-whitelist": {} 
    } 
} 

これは、多少のPhoneGapの新しいバージョンで説明されて7+ here

私の問題は、この問題が発生したときに、依存関係のいくつかは次のエラーを作成しているので、私はもはや自分のアプリケーションを構築していないか、npm startでスタンドアロンとしてそれを開始することができるということです:

WARNING in ./node_modules/cordova-android/bin/templates/cordova/Api.js 
118:30-79 Critical dependency: the request of a dependency is an expression 

WARNING in ./node_modules/cordova-android/bin/templates/cordova/Api.js 
152:30-79 Critical dependency: the request of a dependency is an expression 

WARNING in ./node_modules/cordova-android/bin/lib/create.js 
Module parse failed: /storage/projects/exus/inachus/source/ess-forms-android/node_modules/cordova-android/bin/lib/create.js Unexpected character '#' (1:0) 
You may need an appropriate loader to handle this file type. 
| #!/usr/bin/env node 
| 

どのようにこの問題を解決できますか?これが起こらないように設定を追加することはできますか?

答えて

0

反応アプリケーションをビルドするときにcordovaのパッケージを手動で除外しなければならないため、これを解決するための回避策が見つかっています。これを解決するにはどうすればいいですか?

... 

function removeMatching(originalArray, regex) { 
    var j = 0; 
    while (j < originalArray.length) { 
     if (regex.test(originalArray[j])) 
      originalArray.splice(j, 1); 
     else 
      j++; 
    } 
    return originalArray; 
} 

module.exports = { 
    entry: { 
     vendor: removeMatching(Object.keys(require('./package.json').dependencies), /cordova-.*/) 
    }, 

... 

あなたのエントリはコルドバの依存関係

を除外することを確認してください宣言