关于react-native:reactnative-设置环境变量-reactnativedotenv

场景

有时候咱们须要设置一些环境变量,这里有很多形式。例如:通过特定的标识判断以后是什么环境,再动静读取对应的变量。那么如何通过编译命令设置环境变量呢?咱们能够理解一下 react-native-dotenv。

实现形式

1.装置react-native-dotenv

npm install react-native-dotenv

2.在你的.babelrc(如果没有新建一个)文件中配置一下设置

简略配置,都应用默认参数
{
  "plugins": [
    ["module:react-native-dotenv"]
  ]
}
定制配置,自定义
{
  "plugins": [
    ["module:react-native-dotenv", {
      "envName": "APP_ENV",
      "moduleName": "@env",
      "path": ".env",
      "blocklist": null,
      "allowlist": null,
      "blacklist": null, // DEPRECATED
      "whitelist": null, // DEPRECATED
      "safe": false,
      "allowUndefined": true,
      "verbose": false
    }]
  ]
}

3.在我的项目根目录下新建.env文件,外面能够配置须要的变量,应用key=value的模式

eg:

APP_TRYPE = ZZZ
APP_NAME = AAA

4.应用

import {APP_TRYPE, APP_NAME} from "@env"

console.log('APP_TRYPE:',APP_TRYPE)
输入:APP_TRYPE:ZZZ
console.log('APP_NAME',APP_NAME)
输入:APP_NAME:AAA

如果有多种配置,如果在编译的时候指定应用哪个呢?

1.设置package.json

// package.json
{
  "scripts": {
    "start:wx": "MY_ENV=wx npx react-native start",
    "start:ali": "MY_ENV=ali npx react-native start",
  }
}

2.定义envName

为了能应用下面的MY_ENV,须要咱们从新定义envName

{
  "plugins": [
    ["module:react-native-dotenv", {
     "envName": "MY_ENV" //这里须要设置为下面package.json对应的
    }]
  ]
}

运行package.json的命令的时候,读取的环境变量文件就是.env.ali,.env.wx

新建.env.wx和 .env.ali文件

.env.wx

APP_TRYPE = wx
APP_NAME = mywx

.env.ali

APP_TRYPE = ali
APP_NAME = myali

应用

运行 npm run start:wx

import {APP_TRYPE, APP_NAME} from "@env"

console.log('APP_TRYPE:',APP_TRYPE)
输入:APP_TRYPE:wx
console.log('APP_NAME',APP_NAME)
输入:APP_NAME:mywx

运行 npm run start:ali

import {APP_TRYPE, APP_NAME} from "@env"

console.log('APP_TRYPE:',APP_TRYPE)
输入:APP_TRYPE:ali
console.log('APP_NAME',APP_NAME)
输入:APP_NAME:myali

到这里,咱们曾经能够通过不同的命令来指定不同的变量

【腾讯云】轻量 2核2G4M,首年65元

阿里云限时活动-云数据库 RDS MySQL  1核2G配置 1.88/月 速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据