Bai*_*kar 6 release production-environment dev-to-production dart flutter
我正在使用 flutter 包配置 API 端点dio!我有两个 API 端点:一个用于开发,另一个用于生产。我希望我的diobaseURL 在开发和生产端点之间自动切换。
就像这样
Dio(
baseURL: isProduction ? productionBaseURL : developmentBaseURL
......
);
Run Code Online (Sandbox Code Playgroud)
如何知道我的应用程序是否在 Dart 生产环境中?
只需检查kReleaseMode全局常量即可。如果true应用程序是在发布模式下编译的。
或者,我建议此信息来自环境变量,因此它遵循十二因素应用程序(配置符号)。要获取它并检查,请执行以下操作。
例如IS_PRODUCTION系统环境变量:
final isProduction = Platform.environment['IS_PRODUCTION'] == '1';
Run Code Online (Sandbox Code Playgroud)
或者,获取dart-defines编译时环境变量:
const isProduction = String.fromEnvironment('IS_PRODUCTION') == '1';
Run Code Online (Sandbox Code Playgroud)
有 2 种设置方法dart-define:
flutter run --dart-define=IS_PRODUCTION=1, 或者;
flutter build <bundle> --dart-define=IS_PRODUCTION=1;
其中<bundle>可以是:aar、apk、appbundle、bundle, web、 或windows。
请注意,它dart-define被编译到应用程序本身中。这就是为什么他们接受const声明。从命令行文档中可以看出:
其他键值对将作为
String.fromEnvironment、bool.fromEnvironment、int.fromEnvironment和double.fromEnvironment构造函数中的常量提供。
| 归档时间: |
|
| 查看次数: |
2705 次 |
| 最近记录: |