Dart 2 AngularDart如何在部署环境中配置环境变量?

Dart 2 AngularDart如何在部署环境中配置环境变量?,dart,angular-dart,Dart,Angular Dart,我需要在部署应用程序和开发应用程序时使用不同的配置值。如何使用Dart 2使用webdev-service和webdev-build?build.yaml允许您添加在开发中与在生产中不同的配置变量 下面是build.yaml的一个示例 targets: $default: sources: include: ["lib/**", "web/**"] builders: build_web_compilers|entrypoint: re

我需要在部署应用程序和开发应用程序时使用不同的配置值。如何使用Dart 2使用
webdev-service
webdev-build
?build.yaml允许您添加在开发中与在生产中不同的配置变量

下面是build.yaml的一个示例

targets:
  $default:
    sources:
      include: ["lib/**", "web/**"]
    builders:
      build_web_compilers|entrypoint:
        release_options:
         dart2js_args:
           - -Dhost=https://example.com
           - -DenableFeatureOne=true
然后,您可以使用以下命令获取主机和enableFeatureOne的值:

final host = const String.fromEnvironment('host', defaultValue: 'http://localhost:8080');
因此,在开发过程中,主机将
http://localhost:8080
在使用dart2js编译后的生产中,它将是。 enableFeatureOne也是如此

release\u选项仅在使用
build
命令或
pub run build\u runner build-o build--release编译时使用


开发配置应该是默认配置,因为无法将不同的配置值传递给ddc。解决方法是在应用程序启动时对具有此值的文件发出GET请求

谢谢你。我很感激!如何在build.yaml中为dev设置主机值而不是硬编码?请注意,现在只有dart2js支持-D,因此不能使用
dev_options
传递这些变量,除非同时使用
编译器:dart2js