# 如何使用多环境

实际的开发和部署过程中,我们可能使用不同的配置,这种情况下,你可以使用 多环境

实际上,当你在使用如下命令的时候,即使用了 开发环境

dart pub global run dart_mars --serve dev
1

在这种情况下,DartMars 将加载 env/dev.yaml 文件,并且使用里面的配置信息。

默认有三种环境,列表如下

名称 说明 启用命令
dev 开发环境 dart pub global run dart_mars --serve dev
test 测试环境 dart pub global run dart_mars --serve test
prod 正式环境 dart pub global run dart_mars --serve prod

提示

请注意,如果你在启动服务的时候,没有指定环境类型,默认使用的是 正式环境

# 如何添加新环境

如上所述,DartMars 默认支持三种环境,分别是 开发环境, 测试环境, 正式环境, 在此之外,你也可以添加其他环境。

例如,可以添加 home.yaml 文件,保证内容格式与其他环境文件一致,即添加了新的环境

之后,可以通过以下命令加载它

dart pub global run dart_mars --serve home
1

# 环境文件里有什么

打开任一环境文件,你将看到里面配置的基本参数

参数名称 默认值 作用
dbHost localhost 数据库所在服务器地址
dbPort 3306 数据库连接所用端口
dbUser root 数据库连接用户名
dbPassword root 数据库连接密码
dbName example 数据库名
ssl off 打开或关闭ssl
sslCertificate cert/cert.pem ssl证书地址
sslCertificateKey cert/key.pem ssl证书密钥地址

你可以根据自己的实际情况来调整。

# 如何添加自定义的环境参数

在实际的开发过程中,你可能需要添加自己的环境参数。

比如某个 Api 地址可能根据环境的不同而改变,你可以定义一个变量,

apiUrl: https://www.xxxx.com
1

然后,在所有能访问到 Context 的地方,你都可以访问到这个定义的变量。

比如在某控制器内

('/', 'GET')
static void index(Context ctx) async {
    String apiUrl = ctx.env['apiUrl'].toString();
}
1
2
3
4