ionic emulate实时调试修改
? ? ? ? ? ?我之前開發好了安卓版本,然后直接把代碼遷移到mac上面直接開發ios版本,但是當我用模擬器調試的時候發現很多的樣式出現了不兼容的地方,所以只能對其進行修改.我采用的方案是是利用 ionic emulate ios --target="iPhone-6,10.3" -c -l 來實現修改代碼的同時模擬器也會自動刷新.以下是我操作的詳細步驟說明:
? ? ? ? ? 1.打開mac終端,然后切換到項目的目錄,輸入命令?ionic emulate ios --target="iPhone-6,10.3" -c -l ,此時會啟動模擬器,然后選中終端,按快捷鍵command+n新打開一個終端窗口,啟動你配置的gulp進程,這個gulp進程你只需保證當你修改開發環境下的代碼時你生產環境下的www文件夾下的代碼發生實時更新即可,至于gulp如何配置使用,網上有許多教程可供學習.
? ? ? ? ? 2.當你以為大功告成之時,你會看到模擬器上顯示的結果卻和最最初的預想不一樣.
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
那此時如何查看模擬器報了什么錯誤呢,打開safari->Simulator點擊模擬器打開的頁面
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ?
此時就可以根據這個界面來調整頁面的樣式和觀察相應的js錯誤,點擊控制臺,會發現報的是跨域的錯誤.后來我用google搜了下,原來當ionic emulate ios后面加了-l的參數時它就會在本地啟動一個服務器,所以才會出現跨域的問題. 那么解決這個問題的方式就是直接給ionic項目配置代理.如何配置代理呢?
? ? ? ? ?首先切換到項目根目錄會發現有一個ionic.config.josn的文件,打開以后在里面填寫代理
這個path就填寫你的ajax訪問的api接口地址,而這個proxyUrl填寫的就是你最終要訪問的遠程服務器的api地址.做完之后還需要完成一個工作,就是修改項目js文件里使用ajax訪問的地址.
? ? ? ? ??
我項目中所有ajax訪問的接口主機地址都是用一個全局變量service_ip來代替,所以改起來很方便.在進行模擬器實時更新修改時這個service_ip要改成本機的ip地址,如果是進行真機調試或者打包上線還是要把這個地址改成遠程服務器的地址.
3.此時ctrl+c先退出先前的模擬器,然后再輸入ionic emulate ios --target="iPhone-6,10.3" -c -l 重新啟動模擬器,就可以看到在sublime上面修改代碼,模擬器上實時刷新的效果
總結
以上是生活随笔為你收集整理的ionic emulate实时调试修改的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于MQTT的python聊天室
- 下一篇: 【Codeforces Round #5