2017-08-29 28 views
0

最初,我在PC上運行本地服務器以使我的django REST API可用於我的React Native應用程序通過我的計算機的IP訪問。所以我有一個硬編碼到我的js網絡實用程序中的基址,作爲http://10.0.0.xxx:8000/api/,我用它作爲我所有網絡調用的基礎。最近我將我的後端部署到Heroku,以便在離開我的電腦時展示我的應用程序。所以現在我只是做了第二個硬編碼的基地網址https://my-cool-app.heroku.com/api/,我手動翻轉之間在我的js代碼取決於如果我想要使用我的本地服務器(用於devving調試)或遠程服務器的演示(和由「手動來回翻轉」,我的意思是我從字面上改變我的代碼指向一個或另一個)。如何在React Native中分離與其api目標相關的調試版本和發佈版本

我知道這是一種可怕的方式去解決問題,我錯過了一些重要的難題,可能不僅適用於RN項目,而且適用於前端和後端未託管的大多數完整堆棧項目同一臺服務器。我知道我可以查找__DEV__標誌來查看我是否在調試或發佈版本中工作,但是接下來我是否必須以某種方式在手機上保留兩個版本的應用程序?另外,讓我的基地網站在前端懸掛還是應該以某種方式從後端分發?

回答

1

我個人使用:

https://github.com/zetachang/react-native-dotenv

像我的後端API以及基於其他ENV我CONFIGS的環境變量。

因爲它是類似於許多後端庫像Django的或laravel,我絕對喜歡這個庫管理環境變量:)

+0

這似乎是用於管理ENV變量一個好的圖書館,但我仍然如人們通常不知道他們的手機上安裝了兩個版本的應用程序(調試版和發行版),或者如果這不是正確的方法來進行測試。 –

+0

我沒有兩個版本。我做了一次發佈版本來測試性能,看看在每次衝刺結束時是否一切正常。 – WilomGfx

+0

這是否意味着您必須在每次安裝發行版之前卸載調試版本?我最近才學會了如何爲Android創建一個簽名/對齊的apk,以便在我的電腦上運行應用程序而無需連接到我的電腦上的開發服務器,並且第一次安裝它時告訴我該應用程序已安裝,所以我必須先卸載調試版才能讓我安裝發行版。如果我能弄清楚如何讓它們成爲「不同的應用程序」,以便它們都可以同時安裝,那就很好。但是,也許這是一個單獨的SO問題。 –

相關問題