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

Dan*_*her 3 dart angular-dart

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

小智 7

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
Run Code Online (Sandbox Code Playgroud)

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

final host = const String.fromEnvironment('host', defaultValue: 'http://localhost:8080');
Run Code Online (Sandbox Code Playgroud)

因此在开发过程中,主机将http://localhost:8080在使用dart2js进行编译后生产,它将是https://example.com.对于enableFeatureOne也是如此.

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

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