我有一个库'foo',它由一个部分'bar'组成,并导入dart:io库。库和部件在'foo.dart'中声明如下:
// in foo.dart
library foo;
import 'dart:io';
part "bar.dart"; // resolves
class Foo {
Bar bar = new Bar(); // resolves
HttpServer server = new HttpServer(); // resolves
}
'foo.dart'和'bar.dart'位于同一目录中。
'bar.dart'返回库foo,如下所示:
// in bar.dart
part of foo; // does not resolve
class Bar {
Foo foo = new Foo(); // does not resolve
HttpServer server = new HttpServer // does not resolve
}
但在Dart编辑器中,我在'bar.dart'中看到一个警告,说'无法解决foo'。因此,我在foo.dart中声明的任何导入(例如'dart:io')都不能用于bar.dart,也不是我的任何foo.dart定义,并且因为bar.dart是foo的一部分,所以不允许进口任何其他图书馆或宣布任何其他部分。
我想以这样的方式组织我的代码: *我带入foo.dart的任何导入都可用于bar.dart(和其他源代码部分) *在一个库源部件中创建的库定义可供其他库源部件使用。 *(很明显)bar.dart中的库定义可用于foo.dart(这已按预期工作)
有人可以帮我理解如何完成这些工作吗?
答案 0 :(得分:4)
我认为这只是编辑中的一个错误。你试过运行你的程序吗?它应该工作。
编辑器有时会发出卡住的警告,并关闭文件或关闭编辑器以查找真正卡住的文件,通常会将其清除。我会看看我是否找到了错误报告,因此您可以将其加注,或者如果它一直发生在您身上,可能会添加一个日志文件。