是否可以將自定義開發人員選項添加到您的React Native應用程序?例如,我想添加更改應用程序連接的端點的可能性,以便我可以在本地主機,分段,生產等之間切換我的移動電話在React Native中設置自定義開發人員選項
回答
使用webpack,您可以使用proccess.environment插件,將能夠使用
if (process.env.NODE_ENV === 'dev') {
makeYourThingIncludingRequereETC();
}
https://github.com/webpack/docs/wiki/list-of-plugins#environmentplugin
,將建造和縮小,這將從代碼中刪除之前transpiled到if ('prod' === 'dev') {}
在PROD環境由於「永遠爲假」的規則。
在React Native中,您不使用Webpack,而是使用React Native包裝程序。 – Mahoni
@Mahoni http://stackoverflow.com/a/37823398/815386似乎你已經和包裝工人一樣。 –
最好的方式來配置你的反應原生應用不同的環境是使用
您還可以使用的WebPack的定義插件: https://webpack.js.org/plugins/define-plugin/
如果你有大量的配置差異,配置2組webpack配置,一個用於生產,一個用於dev
new webpack.DefinePlugin({
PRODUCTION: true)}
並在代碼中的任何地方,你要處理的分離,只是用一個簡單的if語句
if (PRODUCTION) {
--do your thing }
else {
-- do your other thing}
您可以使用__DEV__
變量這(https://facebook.github.io/react-native/docs/javascript-environment
一個小例子:
所以,你可以做的是做一個 「DeveloperComponent」
...
class DeveloperComponent extends Component {
...
changeEnv(env) {
// change used urls/keys/other based on env
}
...
render() {
return (
<View>
<DeveleoperOption1 onPress={this.changeEnv("prod")} />
<DeveleoperOption2 onPress={this.changeEnv("dev")} />
<DeveleoperOption3 onPress={/* do other devlike action */} />
</View>
);
}
}
...
,並將其添加。如果你希望它在任何地方都可用,或者在設置頁面中,例如,如果添加到較高級別,「DeveloperComponent」可能是一個按鈕,觸發開發人員選項的警報。
...
return (
<View style={styles.container}>
<YourRouterContainer />
{__DEV__ && <DeveloperComponentTrigger />}
</View>
);
...
或
...
return (
<View style={styles.container}>
<SomeOtherSettings />
{__DEV__ && <DeveloperComponent />}
</View>
);
...
,你不要似乎擔心devcomponents腹脹您的生成過多: 「使用巴貝爾變換,我們能夠刪除代碼的生活背後DEV聲明,有效地減少了包的大小,從而提高了JavaScript解析時間「 從https://code.facebook.com/posts/895897210527114/dive-into-react-native-performance/
- 1. adb以編程方式更改開發人員設置選項
- 2. React Native開發人員菜單沒有響應
- 3. React Native:應用內開發人員菜單android(genymotion)
- 4. React-native --variant選項
- 5. Oracle SQL開發人員中的用戶定義聚合函數開發人員
- 6. WordPress的多個開發人員設置
- 7. ASP.Net Core中開發人員特定的應用程序設置?
- 8. VS2008如何從Web開發人員更改爲C#開發人員設置
- 9. 爲什麼react-native-image-picker的showImagePicker在React Native中未定義?
- 10. 測試自定義事件react-native
- 11. Iphone開發人員配置
- 12. 在自定義中設置選定的項目Zend_Form_Element
- 13. 在React Native中設置表格佈局
- 14. XCode不顯示開發人員配置文件,設備或模擬器選項
- 15. ASP.NET開發人員機器的自定義錯誤
- 16. 自定義Facebook角色(開發人員應用程序)
- 17. 設置React Native子組件
- 18. 在SQL開發人員中設置sybase數據庫連接?
- 19. 如何使用React Navigation在React Native中使用自定義選項卡欄時停止默認轉換?
- 20. 在Oracle SQL開發人員中定義變量
- 21. 在Chrome開發人員工具中未定義角度
- 22. React Native + Expo:__fbbatchedbridge未定義
- 23. react-native-push-notification未定義
- 24. 如何在android中設置自定義選項面板?
- 25. 如何在Dynamics 365中設置自定義字段「選項集」?
- 26. react-native run-android and react-native開始
- 27. 使用CSS在React Native中創建自定義圖表
- 28. 開發人員選項中缺少「啓用跟蹤」android
- 29. Chrome開發人員工具的網絡選項卡中的Cookie
- 30. Chrome開發人員工具中缺少選項卡
你是如何構建它的? Webpack? –