我对Dart还是比较陌生,但是我试图使用Dart 2和Angular 5构建一个相当简单的UI与API进行通信。我为自己设定的两个目标是
为实现这一点,我当时考虑使用Maven的属性注入或Gradle的BuildConfigField之类的东西在构建过程中注入API主机,在开发过程中设置http://localhost:8080
,在生产过程中设置https://api.example.com
,但是在Dart / build_runner
中找不到为此目的的任何东西。
在Dart-Angular中,这是否被认为是一种好习惯?如果是这样,我该如何实现?如果没有,什么 会是个好习惯?
答案 0 :(得分:3)
您正在寻找的声音
https://github.com/dart-lang/webdev/issues/73
如果您使用webdev
或
https://github.com/dart-lang/build/issues/1053
如果您使用pub run build_runner --config=dev ...
您可以在build.dev.yaml
中用不同的值为不同的配置配置变量
来自https://github.com/dart-lang/build/issues/1053#issuecomment-368345014
targets: runny: sources: exclude: ["lib/builder.dart"] builders: sass_builder|sass_builder: enabled: False angular_components|scss_builder: enabled: True build_web_compilers|entrypoint: generate_for: - web/main.dart options: compiler: dartdevc dart2js_args: - --define env=dev
您可以使用读取值
const currentEnv = String.fromEnvironment('env');
https://docs.flutter.io/flutter/dart-core/String/String.fromEnvironment.html