Shu*_*oni 2 file conventions package dart dart-pub
我知道lib /是存放所有库文件的位置,/ bin是存放命令行应用程序入口点的位置。我知道它们都是公共lib /和bin,但我无法理解使用lib / src的约定,根据官方文档,该约定应包含:实现代码
请参阅发布包布局约定 - 实现文件
里面的库
lib是公开可见的:其他包可以自由导入它们。但是包的大部分代码是内部实现库,只能由包本身导入和使用。那些进入libcalled的子目录src。如果它可以帮助您组织事物,您可以在其中创建子目录。你可以自由地
lib/src从同一个包中的其他 Dart 代码中导入库(如 中的其他库lib、脚本中的其他库bin和测试),但你永远不应该从另一个包的lib/src目录中导入。这些文件不是包的公共 API 的一部分,它们的更改方式可能会破坏您的代码。当您将自己的包,甚至在代码中使用库从
src,你可以(也应该)仍然使用package:导入它们。
lib/是包含可共享代码的目录。可以共享
bin/,web/,example/,test/,tool/,...在同一个包lib/src按照惯例包含由公开的私有API的私有实现lib/或lib/xxx在xxx没有公开的地方src。
bin为命令行应用程序保留,并包含执行它们的Dart入口点脚本(包含的文件main() {...})。
在pubspec.yaml您可以定义可执行https://www.dartlang.org/tools/pub/pubspec#executables,允许你从运行脚本bin/的只是执行foo已经dart somePath/bin/foo.dart(使用执行pub global activate my_package_with_foo)。
| 归档时间: |
|
| 查看次数: |
270 次 |
| 最近记录: |