Flutter

Flutter多环境部署配置

2020-02-17  本文已影响0人  IT晴天

多环境测试/部署是很多应用的需求,在Flutter中又是如何实现的?

在网上没找到好的方案,到时发现Flutter默认使用main.dart,也可以指定运行首页:

flutter run -t main1.dart",
flutter build apk -t main1.dart",

所以我决定这样做:

1. 在lib目录下创建如下目录和文件:

image.png

每个文件是如下类似内容:

import 'package:flutter/material.dart';
import '../main.dart';

void main() {
  // 重新给环境变量赋值
  Config.env = EnvModel(
    env: EnumEnv.dev,
    name: '开发版'
    apiUrl: '开发接口地址'
  );
  runApp(MyApp());
}

2. 然后再创建一个Config.dart文件,内容如下:

import 'enum_env.dart';
import 'env_model.dart';
class Config {
  static EnvModel env = EnvModel(
    env: EnumEnv.local,
    apiUrl: '',
    name: '本地版',
  );    // 环境变量配置, 默认配置
}

3. 最后就可以这样操作了:

"run:prod": "flutter run -t lib/environments/prod_env.dart",
"build:md-test": "flutter build apk -t lib/environments/test_env.dart",
"build:md-prod": "flutter build apk -t lib/environments/prod_env.dart",

原理说明:
因为Config.env是静态变量,当默认运行main.dart文件时,使用默认值,而运行prod_env.dart等文件时,内部已经重置了Config.env的值。

上一篇下一篇

猜你喜欢

热点阅读