前言
多环境测试/部署是很多应用的需求,在Flutter中又是如何实现的?
在实际开发过程中,开发往往会配置多个环境,比如说dev,test,prod等,各个环境通过调用不同环境的接口实现代码开发、测试、上线以及维护。那么我们如何实现这种多环境测试/部署?多渠道打包常规方式有两种,Flavor 和 --dart-define,后者是 Flutter1.17新增的命令行可选参数,比Flavor配置更简单,非常适合用于环境配置。
一、环境配置
1、新建一个环境配置文件,用来获取不同的环境变量。
// 环境配置
class EnvConfig {
String name;
String baseUrl;
EnvConfig({
required this.name,
required this.baseUrl,
});
}
// 声明的环境
class EnvInfo {
// 环境key
static const String envKey = "ENVIRONMENT";
// 环境value
static const String debug = "debug";
static const String profile = "profile";
static const String test = "test";
}
// 获取的配置信息
class Env {
// 获取到当前环境
static const appEnv = String.fromEnvironment(EnvInfo.envKey);
// 默认环境
static EnvConfig envConfig = _debugConfig;
// 开发环境
static final EnvConfig _debugConfig = EnvConfig(
name: "debug",
baseUrl: "http://www.debugxxx.com",
)