Передача пользовательских параметров в приложение dart при использовании pub serve для его запуска
Можно ли передать какой-либо аргумент в приложение dart при его запуске с помощью pub serve
? Я пытаюсь сделать так, чтобы приложение использовало некоторые смоделированные сервисы во время его разработки, но затем, когда оно будет развернуто, я хотел бы заменить смоделированные сервисы реальными. Например:
const bool DEBUG = true;
class AppModule extends Module {
AppModule() {
type(PaymentService, implementedBy: DEBUG ? PaypalPaymentService : MockPaymentService );
}
}
Мне бы хотелось, чтобы этот параметр DEBUG каким-то образом пришел из среды и был легко настраиваемым при запуске приложения с использованием pub serve
, Какой лучший способ достичь этого?
1 ответ
Вы можете проверить URL. Если host
является 127.0.0.1
Вы в среде разработки, в противном случае это продукт.
Другая идея заключается в использовании трансформатора, который вводит что-то, когда mode
является debug
, Не уверен, что это действительно возможно таким образом.
$ pub help serve
Run a local web development server.
Usage: pub serve
-h, --help Print usage information for this command.
--port The port to listen on.
(defaults to "8080")
--[no-]dart2js Compile Dart to JavaScript.
(defaults to on)
--[no-]force-poll Force the use of a polling filesystem watcher.
--mode Mode to run transformers in.
(defaults to "debug")