在部署应用程序时和在开发过程中,我需要使用不同的配置值。如何使用webdev serve
和webdev build
在Dart 2中进行设置?
答案 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请求。