React-native:检测开发或生产环境
Posted
技术标签:
【中文标题】React-native:检测开发或生产环境【英文标题】:React-native : detect dev or production env 【发布时间】:2016-03-22 18:45:05 【问题描述】:我开发了一个 react-native 应用程序,应该在其中进行一些 API 调用。
如果我处于生产模式,我的应用应该调用,例如,这个主机:
https://example.com/
但如果我处于开发模式,它应该在不同的端口上调用我的本地主机,例如:
http://192.168.0.10:8080/
react-native 代码如何感知其环境?
.dotenv
似乎不适用于 react-native。
在 Chrome 调试中,我们可以看到应用程序是使用一些参数启动的:
Running application "AppName" with appParams: "initialProps":,"rootTag":1. __DEV__ === true, development-level warning are ON, performance optimizations are OFF
我们可以在应用程序中获取这个__DEV__
值吗?
谢谢
【问题讨论】:
【参考方案1】:自动设置
常量__DEV__
是自动设置的。
生产
通过--dev=false
构建捆绑包应该取消设置__DEV__
。
用法
if (__DEV__)
console.log('Development');
else
console.log('Production');
【讨论】:
好的,谢谢。你知道设置环境变量的方法吗? 不,抱歉。在我的项目中,我经常使用一个配置文件,它会导出一些常量,如 API Url。这对于创建应用的不同版本(例如测试版和生产版)很有用。 好的。我们完全不想要不同的构建。 另见Can react-native bundler detect unused files? 在RN中使用env
文件你可以使用npmjs.com/package/react-native-dotenv包以上是关于React-native:检测开发或生产环境的主要内容,如果未能解决你的问题,请参考以下文章
十分钟完成Springboot 生产环境搭建代码仓库安装自动打包部署
nginx+uwsgi+virtualenv+django搭建django生产运行环境