2016-04-23 18 views
0

私はAngularJS Webアプリケーションを持っています。私はハイブリッドアプリを作るためにそれをIonicに移植したい。私は、イオニアのアプリケーションを作成した後、私のすべてのコードをwwwフォルダに入れる必要があり、メタコンテンツのセキュリティポリシーとともにスクリプトにcordova.jsを含める必要があることを理解しました。AngularJS WebアプリケーションをIonicに移植

"ionic serve"コマンドを使用してサーバーを起動すると私のホームページが表示されますが、localhost:8100でREST呼び出しを起動しようとしていますが、サーバーはlocalhost:8080で実行されています。

localhost:8080への呼び出しをアプリに通知するにはどうすればよいですか?またCORSはどうですか?それはmeta Content-Security-Policyによって解決されますか?

ステップバイステップチュートリアルは大きな助けになります。 CORSのために

おかげ

答えて

2

nicRobay blogを参照してくださいホワイトリストプラグインについての詳細を知っているし、あなたのクロームでこのextenstionを追加するには、あなたのindex.html

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'"> 

でこれを含めます。

通常、端末がそれ自身でどのポートを使用するかを尋ねるコマンドをionic serveに与えると、オプションがあればlocalhost:8080を使うことができます。

コロドバを含めるには、「this」と入力してこの行を追加します。

<script src="lib/ngCordova/dist/ng-cordova.js"></script> 
<script src="cordova.js"></script> 

またはcordowerをインストールするためにbowerを使用できます。

+0

私は既にCORSに同じメタタグを追加しました。これで問題は解決するはずです。 "ionic serve"コマンドの場合、いくつかのポートでサーバーを実行します(デフォルトは8100)。ここでの問題は、バックエンドサーバがポート8080で動作しているため、同じポートでもう1台のサーバを実行できないということです... 私の残りのすべてのコールは相対的なものです $ http.get( "rest/users/1 ").success(successCallback).error(errorCallback) 同じコードをionicに移植すると、ポート8100への呼び出しを試みますが、バックエンドサーバーが8080で実行されているため呼び出しが失敗します。 どうすればこの問題を解決できますか? – Pratz

0

私は間違った方向に行き、この質問をしました。モバイルアプリケーションでは、残りの部分をハードコーディングする必要があります。または、ホスト名をユーザーが指定する必要があります。

相対URLを絶対URLに変更する必要があるため、同じwebappをそのままハイブリッドアプリケーションに移植することはできません。

関連する問題