Передача пользовательских параметров в приложение 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")
Другие вопросы по тегам