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

Dart 2 AngularDart how to config env vars in deployment environment?

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

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 请求。