1

使用 dart 应用程序运行时是否可以将一些参数传递给它pub serve?我想要做的是让一个应用程序在我开发它时使用一些模拟服务,但是当它部署时,我想用真实的服务替换模拟服务。例如:

const bool DEBUG = true;

class AppModule extends Module {
  AppModule() {
    type(PaymentService, implementedBy: DEBUG ? PaypalPaymentService : MockPaymentService );
  }
}

我希望这个 DEBUG 参数以某种方式来自环境,并且在使用pub serve. 实现这一目标的最佳方法是什么?

4

1 回答 1

1

你可以检查网址。如果host127.0.0.1您在开发环境中,否则就是产品。

另一个想法是使用一个在 is 时注入一些东西的转换modedebug。不确定这种方式是否真的可行。

$ 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")
于 2014-01-18T23:36:12.450 回答