常用包
此页面列出了一些 Dart 开发人员发布的最流行和最有用的 包 。要查找更多包——以及搜索 核心库 ——请使用 pub.dev 网站 。
常用的包分为三类:
通用包
#将这些包用于各种项目。
包 | 描述 | 常用 API |
---|---|---|
archive | 编码和解码各种存档和压缩格式。 | Archive, ArchiveFile, TarEncoder, TarDecoder, ZipEncoder, ZipDecoder |
characters | 操作字符串以获取用户感知的字符(Unicode grapheme clusters)。 | String.characters, Characters, CharacterRange |
cronet_http | 使用与 package:http 相同的接口,提供对 Android Cronet HTTP 客户端的访问。 | |
cupertino_http | 使用与 package:http 相同的接口,提供对 Apple 的 Foundation URL 加载系统 的访问。 | |
http | 提供一组高级函数和类,以简化使用 HTTP 资源。 | delete(), get(), post(), read() |
intl | 国际化和本地化工具,支持复数和性别、日期和数字格式化和解析以及双向文本。 | Bidi, DateFormat, MicroMoney, TextDirection |
json_serializable | 生成 JSON 操作代码。要了解更多信息,请参阅 JSON 支持 。 | @JsonSerializable |
logging | 向您的应用程序添加消息日志记录。 | LoggerHandler, Level, LogRecord |
mockito | 模拟测试中的对象。在为依赖注入编写测试时很有帮助。与 test 包一起使用。 | Answering, Expectation, Verification |
path | 操作不同类型的路径。要了解更多信息,请参阅 Unboxing Packages: path. | absolute(), basename(), extension(), join(), normalize(), relative(), split() |
quiver | 简化使用核心 Dart 库。Quiver 提供额外支持的一些库包括异步、缓存、集合、核心、迭代器、模式和测试。 | CountdownTimer (quiver.async); MapCache (quiver.cache); MultiMap, TreeSet (quiver.collection); EnumerateIterable (quiver.iterables); center(), compareIgnoreCase(), isWhiteSpace() (quiver.strings) |
shelf | 为 Dart 提供 Web 服务器中间件。Shelf 使创建和组合 Web 服务器以及 Web 服务器的各个部分变得容易。 | Cascade, Pipeline, Request, Response, Server |
stack_trace | 解析、检查和操作 Dart 生成的堆栈跟踪。还将堆栈跟踪转换为比原生 StackTrace 实现更易读的格式。要了解更多信息,请参阅 Unboxing Packages: stack_trace. | Trace.current(), Trace.format(), Trace.from() |
test | 标准化在 Dart 中编写和运行测试。 | expect(), group(), test() |
yaml | 解析 YAML 标记。 | loadYaml(), loadYamlStream() |
扩展 Dart 核心库的包
#以下每个包都基于 核心库 ,增加了功能并填补了缺失的功能:
包 | 描述 | 常用 API |
---|---|---|
async | 扩展 dart:async,添加实用程序类以处理异步计算。要了解更多信息,请参阅 Unboxing Packages: async part 1 、 part 2 和 part 3 。 | AsyncMemoizer, CancelableOperation, FutureGroup, LazyStream, Result, StreamCompleter, StreamGroup, StreamSplitter |
collection | 扩展 dart:collection,添加实用程序函数和类,使处理集合更容易。要了解更多信息,请参阅 Unboxing Packages: collection 。 | Equality, CanonicalizedMap, MapKeySet, MapValueSet, PriorityQueue, QueueList |
convert | 扩展 dart:convert,添加编码器和解码器,用于在不同数据表示之间进行转换。其中一种数据表示是 百分比编码 ,也称为 URL 编码。 | HexDecoder, PercentDecoder |
io | 包含两个库,ansi 和 io,以简化使用文件、标准流和进程。使用 ansi 库自定义终端输出。io 库具有用于处理进程、stdin 和文件复制的 API。 | copyPath(), isExecutable(), ExitCode, ProcessManager, sharedStdIn |
专用包
#要查找 Flutter 和 Web 开发等专用包,请参阅以下部分。
Flutter 包
#要了解有关 Flutter 包的更多信息,请参阅 Flutter 文档中的 使用包 或在 pub.dev 网站上搜索 Flutter 包 。
Web 包
#要了解有关 Web 包的更多信息,请参阅 Web 库和包 或在 pub.dev 网站上搜索 Web 包 。
命令行和服务器包
#要了解有关 CLI 或服务器包的更多信息,请参阅 命令行和服务器库和包 。或者使用 pub.dev 网站 搜索其他包 。
除非另有说明,否则本网站上的文档反映的是 Dart 3.6.0。页面最后更新于 2025-02-05。 查看源代码 或 报告问题.