前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flutter多环境部署配置

Flutter多环境部署配置

作者头像
IT晴天
发布2020-02-24 12:23:28
2.1K1
发布2020-02-24 12:23:28
举报
文章被收录于专栏:ionic3+

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

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

代码语言:javascript
复制
flutter run -t main1.dart",
flutter build apk -t main1.dart",

所以我决定这样做:

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

image.png

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

代码语言:javascript
复制
import 'package:flutter/material.dart';
import '../main.dart';

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

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

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

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

代码语言:javascript
复制
"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的值。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 在lib目录下创建如下目录和文件:
  • 2. 然后再创建一个Config.dart文件,内容如下:
  • 3. 最后就可以这样操作了:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档