Dart库布局

3

我正在困扰Dart库的布局问题。我尝试了以下方法:

lib/
  A.dart
  B.dart
  my_lib.dart

where: A.dart

class A {
  B myB;   
}

B.dart

class A {
  B myB;   
}

my_lib.dart

#library('my_lib');
#source('A.dart');
#source('B.dart');  

但是在A.dart中,在Dart编辑器中存在一个问题:B - 没有这种类型。 如果我通过 import 导入B.dart文件,

#import('B.dart)',

但现在它声称库的一部分只能包含部分指令。 根据http://news.dartlang.org/2012/07/draft-spec-changes-to-library-and.html

partDirective:
  metadata part  stringLiteral “;”
;

但是这对我也不起作用。我错过了什么吗?

遇到了类似的问题,但是选择的答案没有解决 :( - 1dayitwillmake
2个回答

5

下载最新的SDK并尝试:

a.dart

class A {
  B myB;
}

b.dart

class B {

}

lib.dart

library mylib;

part 'a.dart';
part 'b.dart';

那应该可以正常工作。


我使用的是Dart SDK版本13075,它似乎可以正常工作。奇怪的是,当文件名为大写时,编辑器会变得混乱,但当我将所有内容从大写改为小写并返回时,它又变得正常了。 - Lesiak
1
@Lesiak 使用小写文件名和下划线来代替空格;这是Dart样式指南告诉你要做的。 - Kai Sellgren

4
由于新版本的更改,布局必须像下面的示例那样:

a.dart
part of mylib;

class A {
  B myB;
}

b.dart

part of mylib;

class B {

}

lib.dart

library mylib;

part 'a.dart';
part 'b.dart';

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接