咱们为什么须要环境变量?
次要用于存储高级秘密数据,如果泄露可能会危及您产品的安全性。这些变量本地存储在每个用户的本地零碎中,不应该签入存储库。每个用户都有这些变量的正本。
配置
- 在根我的项目中创立一个名为
.env
的文件夹(文件夹名称由您抉择) - 在
.gitignore
中增加.env
文件夹门路为.env/
- 在
.env
文件夹中增加环境文件,如dev.json
、staging.json
、prod.json
、testing.json
或任何你想创立的环境。
步骤
通过 CLI 设置环境变量
- 运行命令:
flutter run --dart-define-from-file=.env/dev.json
设置 VSCode 运行环境变量
- 在
.vscode/
文件夹中创立launch.json
文件,从而创立启动配置。 - 为每个环境创立配置,并在 toolArgs 字段中增加选项
--dart-define-from-file=.env/dev.json
,如下所示:
{ "version": "0.2.0", "configurations": [ { "name": "mobile_app dev", "request": "launch", "type": "dart", "toolArgs": [ "--dart-define-from-file=.env/dev.json" ] }, { "name": "mobile_app staging", "request": "launch", "type": "dart", "toolArgs": [ "--dart-define-from-file=.env/staging.json" ] }, { "name": "mobile_app prod", "request": "launch", "type": "dart", "toolArgs": [ "--dart-define-from-file=.env/prod.json" ] }, { "name": "mobile_app testing", "request": "launch", "type": "dart", "toolArgs": [ "--dart-define-from-file=.env/testing.json" ] } ]}
设置从Android Studio运行的环境变量
- 单击edit configurations关上配置
- 单击左上角的
+
并从下拉列表中抉择 flutter 以增加多个 flutter 配置
- 在“Dart entrypoint”中,将值设置为main.dart文件的门路
- 在“Additional run args”字段中增加
--dart-define-from-file=.env/dev.json
- 反复上述第 2、3 和 4 步,为多个环境创立多个配置
应用环境变量
要应用环境变量,请应用 String.fromEnvironment('clientId');
您能够创立一个返回动态环境变量的类(或者您也能够用本人的办法来实现),它看起来像这样
class Environment { static const String env = String.fromEnvironment('env'); static const String clientId = String.fromEnvironment('clientId'); static const String clientSecret = String.fromEnvironment('clientSecret'); static const String callbackUrl = String.fromEnvironment('callbackUrl');}
并在代码中作为 Environment.clientId
应用
您的秘密数据当初平安了!