React Nativeアプリケーションにカスタム開発者オプションを追加することはできますか?たとえば、私は携帯電話でlocalhost、ステージング、プロダクションなどを切り替えることができるように、アプリケーションが接続するエンドポイントを変更する可能性を追加したいと思います。React Nativeでカスタム開発者オプションを設定する
答えて
webpackではproccess.environmentプラグインを使用できます
if (process.env.NODE_ENV === 'dev') {
makeYourThingIncludingRequereETC();
}
https://github.com/webpack/docs/wiki/list-of-plugins#environmentplugin
を使用することができます常にfalse "ルールによるコードから削除される、ビルドと縮小前のprod環境でif ('prod' === 'dev') {}
にtranspiledされます。
React Nativeでは、WebpackではなくReact Nativeパッケージャを使用します。 – Mahoni
@マホニhttp://stackoverflow.com/a/37823398/815386あなたのパッケージャと同じ方法があるようです。 –
あなたは、異なる環境でのネイティブアプリを反応させる構成するための最良の方法は、あなたがまたのプラグインを定義するのWebPACK使用することができます
使用することです: https://webpack.js.org/plugins/define-plugin/
あなたが設定差の多くを持っている場合は、プロダクション用、デベロッパ用の2つのwebpack設定を構成する
new webpack.DefinePlugin({
PRODUCTION: true)}
どこでもあなたのコードでは、あなたは分離を処理したい、これを行うための声明
if (PRODUCTION) {
--do your thing }
else {
-- do your other thing}
あなたはhttps://facebook.github.io/react-native/docs/javascript-environment(このため__DEV__
変数を使用することができます
小さな例:。。
をだから何あなたができることは "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. コードを介してAndroidの変更開発者オプション設定
- 4. React Native - SQLiteの設定エラー
- 5. waitForDebuggerのデバイスの開発者設定?
- 6. ソリッド開発者向けのGitと開発の設定
- 7. React-native - 特定のレベルでStackNavigatorを開始する方法
- 8. Nuclide React Native:デバッグを開始
- 9. React Native:開発と生産的なモードでAPI URLを取得
- 10. React Native 'Share'関数で動的URLを設定する方法
- 11. React NativeアプリでGitを設定するには?
- 12. iOS上のReact Nativeでホットリロードを設定する方法は?
- 13. React Nativeで新しいプロジェクトルートを設定する
- 14. React Native "開発サーバーに接続できませんでした。"
- 15. React/React-Native Refs [固定]
- 16. React Native Androidでカスタムネイティブイベントを定義する
- 17. Android用React Nativeの開発サーバーに接続できません
- 18. React Native Release:開発サーバーに接続できません
- 19. Native Base、React Native ..何とかタブサイズを設定する必要があります
- 20. react-nativeとの問題:開始スクリプト 'react-native-scripts start'
- 21. 開発者と非開発者の間でios開発を共有する
- 22. エラー:不明なオプション `--debug 'React Native
- 23. React NativeのScrollViewでcontentInsetとcontentOffsetを設定します
- 24. React Native Expoプロジェクトの既定のフォントファミリを設定します
- 25. 開発、ステージング、プロダクションの間でカスタム設定変数を分離
- 26. 開発サーバーが応答エラーコード:500 - React Nativeを返しました
- 27. React Nativeで生産コードと開発コードを分離する方法は?
- 28. 指数のAPIキーを設定する方法create-react-native-app
- 29. appetize/xcode/react-nativeの.appバンドルを作成する設定
- 30. React Nativeのスタイルを小道具で設定できません
どのようにビルドしますか? Webpack? –