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

时间:2018-08-16 13:01:49

标签: dart angular-dart

在部署应用程序时和在开发过程中,我需要使用不同的配置值。如何使用webdev servewebdev build在Dart 2中进行设置?

1 个答案:

答案 0 :(得分:6)

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

然后,您可以使用以下方法获取host和enableFeatureOne的值:

final host = const String.fromEnvironment('host', defaultValue: 'http://localhost:8080');

因此,在开发中,主机将为http://localhost:8080,在使用dart2js编译后的生产环境中,主机将为https://example.com。 与enableFeatureOne相同。

release_options仅在通过build命令或pub run build_runner build -o build --release编译时使用。

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