Dart:如何在调试和生产模式下使用不同的设置?

Posted

技术标签:

【中文标题】Dart:如何在调试和生产模式下使用不同的设置?【英文标题】:Dart: How to use different settings in debug and production mode? 【发布时间】:2014-03-19 22:32:48 【问题描述】:

有什么想法可以让我的 Dart 应用在调试模式(在 Dartium 中运行)和生产模式下使用不同的设置?

例如,我在我的应用程序中使用 PouchDb,它将数据库复制到特定的 CouchDb 实例,由 url 给出:db.replicateTo(url); 在调试模式下,我想使用另一个 CouchDb 实例(另一个 url)而不是生产模式。

那么,有什么想法或方法可以在两种模式下使用不同的设置吗?

【问题讨论】:

【参考方案1】:

这会在短时间内起作用:

transformers: # or dev_transformers
- $dart2js:
  environment:  PROD: "true" 

从代码中访问它

String.fromEnvironment()

main() 
  print('PROD: $const String.fromEnvironment('PROD')'); 
  // works in the browser
  // prints 'PROD: null' in Dartium
  // prints 'PROD: true' in Chrome

另见

Configuring the Built-in dart2js Transformer How to achieve precompiler directive like functionality https://github.com/dart-lang/pub/issues/798 http://blog.sethladd.com/2013/12/compile-time-dead-code-elimination-with.html https://api.dartlang.org/stable/1.22.0/dart-core/bool/bool.fromEnvironment.html dart check if is building

【讨论】:

以上是关于Dart:如何在调试和生产模式下使用不同的设置?的主要内容,如果未能解决你的问题,请参考以下文章

如何在单个 iOS 项目/应用程序中为发布和调试模式(测试和生产环境)制作不同的 Firebase 数据库?

FlutterFlutter 混合开发 ( Dart 代码调试 | Flutter 单独调试 | 混合模式下 Flutter 调试 )

Flutter如何调试应用Dart Observatory 以及调试模式断言

在调试模式下在 Windows 上启动 lib/main.dart... 无法构建:找不到 vcvars64.bat

Mplabipeverify失败

错误只出现在发布模式而不是调试模式