当前位置:   article > 正文

Flutter多环境部署配置(一)_flutter 多环境

flutter 多环境

多环境测试/部署是很多应用的需求,在Flutter中又是如何实现的?(注:此文从我的简书文章Flutter多环境部署配置迁移过来)

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

flutter run -t main1.dart",
flutter build apk -t main1.dart",
  • 1
  • 2

所以我决定这样做:
###1. 在lib目录下创建如下目录和文件:
image.png

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

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

void main() {
  // 重新给环境变量赋值
  Config.env = EnvModel(
    env: EnumEnv.dev,
    name: '开发版'
    apiUrl: '开发接口地址'
  );
  runApp(MyApp());
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

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

import 'enum_env.dart';
import 'env_model.dart';
class Config {
  static EnvModel env = EnvModel(
    env: EnumEnv.local,
    apiUrl: '',
    name: '本地版',
  );    // 环境变量配置, 默认配置
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

###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",
  • 1
  • 2
  • 3

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/448221
推荐阅读
相关标签
  

闽ICP备14008679号