[英]Top level routines of one library are inaccessible when loaded through another library in Dart
说,我在浏览器中加载此脚本:
<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.
怎么会这样?
因为导入不会自动链接。 你必须使用export
语句。
library library1;
import "library2.dart";
export "library2.dart";
并避免不必要的代码: import
和export
是完全独立的。 如果你不在unleashTheKraken
本身中使用unleashTheKraken
,你可以省略import语句,只使用export。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.