我有一个使用part
和part of
的相当大的Dart应用程序,因此我不必使用相对import
。但是,应用程序可能在入口点文件中具有类似的内容:
part 'file1.dart';
part 'file2.dart';
part 'file3.dart';
part 'some_sub_dir/file1.dart';
part 'some_sub_dir/file2.dart';
part 'some_sub_dir/file3.dart';
part 'some_sub_dir/file4.dart';
part 'some_sub_dir/file5.dart';
part 'some_sub_dir/file6.dart';
...
据我所知,我的IDE(WebStorm)在创建新类时不会自动添加part
语句。有什么方法可以避免使用这么多part
s吗?如果没有,每次添加新parts
的过程是否可以自动化?
答案 0 :(得分:2)
我尽可能理解你的问题,我会尝试回答我在达特的经历。
当我得到它时,你试图将所有(或很多)项目文件保存为一个库的一部分。这是错误的概念。在Dart库中并不是一件大事。以下是一些如何整理文件的建议。
例如,这是一个像TODO列表应用程序的项目。所以,我们有视图类:
// This is a view html component class. //
library todolist.list_viewer;
import 'package:todolist/task.dart'; // model class
class ListViewer extends HtmlElement {
// it showes list of tasks
}
class TodoRenderer extends HtmlElement {
// this is a renderer for one todo item
}
这是一个模型类:
// This is a todo model task //
library todolist.task;
class TodoProvider {
List<TodoItem> todos;
String addItem(TodoItem new Todo) {
//...
}
}
class TodoItem {
String Author;
DateTime date;
}
现在看起来很简单,分成独立的库。但是如果我们想要添加RecId
类来保持todo数据库id,它就变得太复杂了。我们应该将它拆分为两个库:todo_provider
和todo_model
,并将RecId
类放入最后一个库中。现在又好了。
如果我们想再添加一个模型:User
,那么每个待办事项都可能有执行者或作者。我们不能只把它todo_model
。现在我们应该将TodoItem
和User
类合并到model
库中。因此,我们只需将todo_model
类重命名为model
并将User
类添加到其中。
或者代替最后一项操作,我们可以让user_model
库保留User
类。并且由于User模型也具有recId
属性,我们应该将RecId
类提取到单独的库中。
这完全取决于我们的课程如何大而复杂。
答案 1 :(得分:0)
我理解:
的一部分/一部分用于将库分成几个部分(脚本)。您可以看到公共和私人成员。
导入是&#34;调用/使用&#34;您图书馆的另一个图书馆。您只能看到导入库的公共成员。
WebStorm无法推断您希望脚本成为您库的一部分。