2016-04-23 28 views
0

我有一個AngularJS webapp。我想將它移植到Ionic來創建混合應用程序。我發現我需要在創建Ionic應用程序後將所有代碼放在www文件夾中,並且需要將cordova.js與元內容安全策略一起包含到我的腳本中。將一個AngularJS Web應用程序移植到Ionic

當我使用「ionic serve」命令啓動服務器時,我能夠看到我的主頁,但問題在於它試圖在localhost:8100上啓動REST調用,但我的服務器正在localhost:8080上運行。

我該如何告訴應用程序將電話打到本地主機:8080?還有什麼關於CORS?它會通過元內容安全策略解決嗎?

任何一步一步教程將是一個很大的幫助。

感謝

回答

2

對於CORS包括這在您的index.html

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

瞭解更多關於白名單的插件是指nicRobay blog和您的Chrome添加此extenstion

通常在給ionic serve命令時,終端本身會詢問通常使用哪個端口,如果得到該選項,可以使用localhost:8080。

要包括corodova請參閱`this'並添加此行。

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

或者您可以使用鮑爾安裝cordova。

+0

我已經爲CORS添加了相同的元標記。希望這能解決問題。 現在對於「離子服務」命令,它在某個端口運行服務器(默認爲8100)。這裏的問題是,我的後端服務器運行在端口8080,我不能在同一端口運行一個服務器... 我所有的其餘呼叫都是相對的,如 $ http.get(「rest/users/1 「).success(successCallback).error(errorCallback) 如果我將相同的代碼移植到離子,那麼它會嘗試向端口8100發起呼叫,但由於後端服務器在8080上運行,呼叫失敗。 我該如何解決這個問題? – Pratz

0

我想我走錯了方向問這個問題。在移動應用程序中進行休息調用時,應該對主機進行硬編碼,或者在某些情況下主機名應由用戶提供。

相同的webapp無法移植到混合應用程序,因爲它是相對url需要更改爲絕對url。

相關問題