반응형
질문
예를 들어, Twitch와 같은 API를 위한 클라이언트를 구축하는 경우입니다.
Dart CLI 바이너리에서는 일반적인 환경 변수 또는 Dart 정의 변수를 사용할 수 있습니다. 예를 들어, 둘 다 대비책으로 사용하는 경우:
main() {
String clientId =
// dart -dCLIENT_ID='abc bin/example.dart
// 이는 애플리케이션에 "컴파일된 것으로 간주됩니다.
const String.fromEnvironment('CLIENT_ID') ??
// CLIENT_ID='abc' dart bin/example.dart
// 이는 런타임 플래그로 간주됩니다.
Platform.environment['CLIENT_ID'];
// clientId를 사용합니다.
}
Flutter에는 특히 다음과 같은 방법으로 이러한 변수를 설정할 수 있는 방법이 있습니까...
- 개발 시간 동안
- 제품으로 출시될 때
알아내면 일부 문서 작성에 도움이 될 것입니다 :)
답변
Flutter 1.17부터는 컴파일 시간 변수를 정의할 수 있습니다.
이를 위해 flutter run
또는 flutter build
중 --dart-define
인자를 사용하십시오.
여러 개의 키-값 쌍을 전달해야 하는 경우, --dart-define
을 여러 번 정의하면 됩니다:
flutter run --dart-define=SOME_VAR=SOME_VALUE --dart-define=OTHER_VAR=OTHER_VALUE
그런 다음 코드의 어디에서든 다음과 같이 사용할 수 있습니다:
const SOME_VAR = String.fromEnvironment('SOME_VAR', defaultValue: 'SOME_DEFAULT_VALUE');
const OTHER_VAR = String.fromEnvironment('OTHER_VAR', defaultValue: 'OTHER_DEFAULT_VALUE');
또한, 네이티브 레이어에서도 사용할 수 있습니다.
반응형
댓글