如何在 Flutter 中的 .env 文件中定义变量?

MHD*_*DEZ 2 environment-variables flutter flutter-dependencies

我正在使用这个。我想在 Flutter 的 `.env 文件中为主机和端口定义一个变量,我想在文件中使用它们。

喜欢:

getData= host:port/myData

Edu*_*tal 7

您可以通过在.env文件中插入来做到这一点:

HOST=localhost
PORT=3000
Run Code Online (Sandbox Code Playgroud)

在资产部分添加 .env 文件pubspec.yaml

assets:
  - .env
Run Code Online (Sandbox Code Playgroud)

然后,您可以更改中的 main 函数main.dart以加载 .env 文件:

Future main() async {
  await DotEnv().load('.env');
  runApp(MyApp());
}
Run Code Online (Sandbox Code Playgroud)

之后,您可以通过以下方式在任何地方获取 HOST 和 PORT:

DotEnv().env['PORT'];
DotEnv().env['HOST'];
Run Code Online (Sandbox Code Playgroud)

所有这些说明都在库的 README 中:https : //pub.dev/packages/flutter_dotenv#-readme-tab-

更新问题后编辑:我查看了 DotEnv 库源代码,他们没有实现您需要的此功能。如果您真的需要它,您可以创建一个问题来请求它,或者您可以使用解决方法,例如创建一个以您需要的方式组合这些环境变量的 Constants 类。


MHD*_*DEZ 4

新版本的.env库有这个功能:

flutter_dotenv:^3.1.0


BAR=bar

FOOBAR=$FOO$BAR

ESCAPED_DOLLAR_SIGN='$1000'
Run Code Online (Sandbox Code Playgroud)