如何在web文件夹中组织dart代码

Mar*_*kob 5 dart dart-pub

根据Package布局约定,web文件夹应包含以下内容:

HTML,CSS,图像,甚至可能是一些JavaScript.所有这些都进入了你的包的web目录.您可以自由地将内容组织到您的内心.如果让你开心的话,对子目录发疯吧.

所以我的web目录看起来像这样:

web/data_access
web/model
web/ui
web/ui/navigation
etc.
Run Code Online (Sandbox Code Playgroud)

现在,如何管理所有这些import语句.我得到了很多声明:

import '../../model/my_model.dart';
import '../../data_access/mock_dao.dart';
etc.
Run Code Online (Sandbox Code Playgroud)

我不喜欢../在我的导入中使用那么多,因为这很脆弱,每当我更改文件夹结构中的任何内容时,我都会遇到问题.

有没有更好的方法来组织web文件夹中的代码?

要么

还有其他方法可以进口吗?

Mar*_*ioP 3

很不幸的是,不行。有一个开放的功能请求可以解决这个问题,但实现它可能需要一段时间。解决此问题的最佳方法是将多个类捆绑到一个文件中,或将多个文件捆绑到一个库中 - 有效减少导入语句的数量。我甚至将整个应用程序变成一个带有part of语句的大型库,这样我就不必处理导入语句。虽然这并不能消除根本问题,但它目前有效。

此外,在更改文件夹结构时,重构而不是简单地重命名会影响导入语句,从而消除了手动调整它们的痛苦。

Web 组件可以导入到库中,然后使用该语句重新导出export,从而将它们捆绑到单个导入中。