我正在写一个飞镖文件:
import 'something.dart'
part of my_lib;
class A{
//...
}
我已经尝试过将import
andpart of
指令颠倒过来,但它仍然无法工作,你能不能没有一个类文件作为库的一部分并且有导入?
您所有的导入都应该放在定义库的文件中。
图书馆:
library my_lib;
import 'something.dart';
part 'a.dart';
class MyLib {
//...
}
飞镖
part of my_lib;
class A {
//...
}
由于 a.dart 是 my_lib 的一部分,它可以访问 my_lib 导入的任何文件。
Pixel Elephanr 的回答是正确的,但我建议使用 part-of 指令的替代语法:
my_file.dart(库主文件):
//This now is optional:
//library my_lib;
import 'something.dart';
part 'a.dart';
class MyLib {
//...
}
a.dart(同一个库的一部分;因此您可以在其中引用 my_file.dart 中导入的元素)
//Instead of this (whitout quotes, and referencing the library name):
//part of my_lib;
//use this (whit quotes, and referencing the library file path):
part of 'my_file.dart'
class A {
//...
}
在 Doc 中您可以找到这两种语法,但仅使用带引号的部分语法(指向文件路径),您可以省略library 主文件中的 library 指令;或者,如果由于其他原因(将文档和注释放在库级别)仍然需要 library 指令,至少您不会被迫在多个文件中保持库名称同步,这在重构的情况下很无聊。
如果您在通过拖放移动文件时在 IntelliJ IDEA 或 Android Studio 中遇到此问题,请在左侧的项目窗格中切换到“项目源”,然后移动(拖放)。当我在使用颤振时遇到这个问题时,这对我有用。