当通过Dart中的另一个库加载时,无法访问一个库的顶级例程

时间:2014-01-11 03:05:41

标签: dart libraries

说,我在浏览器中加载此脚本:

<script src='app.dart' type='application/dart'></script>

现在,在 app.dart 中我有:

import 'library1.dart';
unleashTheKraken();

然后在 library1.dart 中你会发现:

library library1;
import 'library2';

最后在 library2.dart 中我们将:

library library2;
unleashTheKraken() => print('Unleashing the Kraken')

结果是:Exception: No top-level method 'unleashTheKraken' declared.怎么样?

1 个答案:

答案 0 :(得分:2)

因为导入不会自动链接。您必须使用export语句。

library library1;

import "library2.dart";
export "library2.dart";

为避免不必要的代码:importexport完全独立。如果您不在库1本身中使用unleashTheKraken,则可以省略import语句,只使用export。