是否可以将自定义开发人员选项添加到您的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. 开发人员选项从设置中消失
- 2. React Native自定义事件
- 3. React Native:应用内开发人员菜单android(genymotion)
- 4. React Native开发人员菜单没有响应
- 5. adb以编程方式更改开发人员设置选项
- 6. React-native --variant选项
- 7. 在Grails中注入开发人员特定设置
- 8. android 4.1.1开发人员选项消失
- 9. 有限的Android开发人员选项
- 10. SQL开发人员选项卡问题
- 11. 开发人员的postgresql选项 - wal_debug
- 12. Android - Programmaticaly检查开发人员选项?
- 13. Oracle SQL开发人员中的用户定义聚合函数开发人员
- 14. WordPress的多个开发人员设置
- 15. Facebook开发人员设置注册iOS
- 16. 为什么react-native-image-picker的showImagePicker在React Native中未定义?
- 17. ASP.Net Core中开发人员特定的应用程序设置?
- 18. VS2008如何从Web开发人员更改为C#开发人员设置
- 19. 测试自定义事件react-native
- 20. React Native的自定义Android模块
- 21. 在React Native中设置表格布局
- 22. React-Native android:调试选项?
- 23. 在android中设置自定义开关
- 24. Iphone开发人员配置
- 25. 在React Native上定义自定义本机事件Android
- 26. 在开发人员帐户中安装托管软件包后,salesforce中的自定义设置问题
- 27. 设置React Native子组件
- 28. 设置自定义开关
- 29. 在自定义中设置选定的项目Zend_Form_Element
- 30. XCode不显示开发人员配置文件,设备或模拟器选项
你是如何构建它的? Webpack? –