【发布时间】:2023-01-15 01:46:10
【问题描述】:
我在项目的根目录中创建了一个 dotEnv 文件,并将该文件添加到 pubspec.yaml 文件中,如下所示:
assets:
- dotEnv.develop
然后我以这种方式在 main.dart 文件中引用它:
void main() async{
await dotenv.load(fileName: "dotEnv.develop");
runApp(const MyApp());
}
但是发布的应用程序找不到 dotEnv.develop 文件,但是它存在于 assets 文件夹中,如下图所示:
在 chrome 的控制台中我得到这个错误:
main.dart.js:41783 Error while trying to load an asset: Failed to load asset at "assets/dotEnv.develop" (404)
Failed to load resource: the server responded with a status of 404 (Not Found)
现在我的 flutter sdk 版本是 3.0.5
【问题讨论】:
-
您使用的是哪个 dot-env 包?另外,您如何加载
dotEnv.develop文件(源代码)? -
我使用
flutter_dotenv 5.0.2并在 main() 中使用它:` await dotenv.load(fileName: "assets/dotEnv.develop");` -
在生产应用程序的纯文本文件中包含环境机密是不好的做法。您应该使用
--dart-define将环境变量传递给您的生产构建。
标签: flutter flutter-web