在 `lib` 文件夹中使用 `src` 子文件夹有什么好处吗

Mah*_*deh 8 dart flutter

当我尝试开发 Flutter应用程序(不是包等)时,在src文件夹内的子文件夹中创建所有应用程序文件和文件夹有什么好处lib吗?

RSF*_*RSF 8

这个问题被标记为 Flutter,但可能也应该有 Dart 标志,因为 Dart 是 Fl​​utter 使用的语言。根据Dart Organizing a library Package,将代码放在 lib/src 下的约定称为“约定”,目的是将库的公共代码与私有实现代码分开。

还有第二个原因进一步说明:

Web 应用程序提示:为了在使用 dartdevc 开发时获得最佳性能,请将实现文件放在 /lib/src 下,而不是 /lib 下的其他位置。另外,避免导入 package:package_name/src/....

由于 dartdevc 编译器在开发时在调试模式下由 flutter 使用(请参阅Flutter 调试构建模式),如果您使用 lib/src 结构而不仅仅是 lib,则热重载似乎确实具有设计时速度优势。请注意不同的编译器用于发布 - dart2js - 所以在这种情况下没有优势(请参阅上面的相同链接)。

关于以上几点的类似历史讨论可以在 dart 语言 github 上找到:推荐 /lib/src vs. /lib