1. 程式人生 > >React Native之使用“Debug JS Remote”時,出現白屏,跨域問題

React Native之使用“Debug JS Remote”時,出現白屏,跨域問題

啟用“Debug JS Remote”出現白屏,主要原因就是瀏覽器跨域限制,從而導致不能通過瀏覽器進行web除錯的目的。

解決方案一:
直接更改metro原始碼(此種方法,在每次安裝node_modules時需要重新更改)

(1)找到兩個待更改的檔案:
      \node_modules\metro\src\Server.js
      \node_modules\metro\src\Server.js.flow 
(2)找到方法 _processDeltaRequest(req, res),在內部新增如下語句,達到跨域的目的。
      mres.setHeader("Access-Control-Allow-Origin", "*")
解決方案二:
設定瀏覽器跨域,以chrome為例:

window:
(1)找到桌面chrome瀏覽器圖示,右鍵“屬性”,找到“快捷方式”的“目標”欄位;
(2)在“目標”欄位後,增加程式啟動引數 “ --disable-web-security --user-data-dir=c:/data”
OSX:
在 terminal 中,直接執行如下命令,啟動chrome即可:
open -n /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-dir=/Users