Dart 2 AngularDart 如何在部署环境中配置环境变量?
Dart 2 AngularDart how to config env vars in deployment environment?
部署我的应用程序时与开发时我需要使用不同的配置值。如何使用 webdev serve
和 webdev 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 请求。
部署我的应用程序时与开发时我需要使用不同的配置值。如何使用 webdev serve
和 webdev 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 请求。