繁体   English   中英

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

[英]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";

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM