@foxglove/message-definition

中文文档
0.5.0发布于 2025/10/10MITTypeScriptCommonJS零依赖构建来源已验证近 30 天下载 88.7万

定义信件定义策略的常见类型( ROS. msg, Protobuf, FlatBuffers, IDL, PX4 ULog, JSON Schema等)

中文使用文档
文档目录5 节
  1. 为什么这样有用?
  2. 实例
  3. 许可证
  4. 释放
  5. 保持联系

@foxglove/消息定义

@foxglove/message-definition on npm

定义信件定义策略的常见类型Script类型(ROS.msg,Protobuf,FlatBuffers,IDL,PX4 ULog,JSON Schema等).

为什么这样有用?

今天存在几种界面定义语言来描述消息的结构. 这些语言常被用来生成信息序列化和去序列化的代码. 这个软件包定义了在TypeScript中用于界面定义的共同表示,有时被称为消息定义,因此可以以通俗的方式解释. 这方面的一个具体例子是: 狐狸集团,它支持许多不同的消息序列化,但提供了所有信息的共同功能,例如: 消息路径语法 和结构化信息显示.

实例

以下是ROS 2信息定义的例子(.msg 及其相应的类型脚本表示:

UserAccount.msg数字 :

string username
Account account
============
MSG: custom_type/Account
string name
uint16 id

UserAccount.ts数字 :

[
  {
    definitions: [
      { type: "string", name: "username" },
      { type: "custom_type/Account", name: "account", isComplex: true },
    ],
  },
  {
    name: "custom_type/Account",
    definitions: [
      { type: "string", name: "name" },
      { type: "uint16", name: "id" },
    ],
  },
];

注意此包只提供类型定义,而不是用于解析或生成信件定义的任何功能. 看这个 狐克格洛夫/罗斯克 或其他依赖于此软件包.

许可证

@foxglove/message-definition 依据许可使用 MIT 许可证。 。 。 .

释放

  1. 运行 yarn version --[major|minor|patch] 切换到凸起版本
  2. 运行 git push && git push --tags 以驱动新标签
  3. GitHub 动作会照顾剩下的

保持联系

加入我们 Discord 社区 问问题 分享反馈 随时了解我们团队的工作.

版本与发布记录

@foxglove/message-definition 共发布 5 个版本,首次发布于 2023/02/28;过去 12 个月发布了 0 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.5.0latest2025/10/101.1 年前
0.4.02024/11/082 年前
0.3.12023/10/113 年前
0.3.02023/07/273 年前
0.2.02023/02/283 年前

关于 @foxglove/message-definition 的常见问题

@foxglove/message-definition 是什么?

定义信件定义策略的常见类型( ROS. msg, Protobuf, FlatBuffers, IDL, PX4 ULog, JSON Schema等)

如何安装 @foxglove/message-definition?

在项目目录运行 npm install @foxglove/message-definition,或使用 pnpm add / yarn add / bun add。

@foxglove/message-definition 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@foxglove/message-definition 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@foxglove/message-definition 可以商用吗?

@foxglove/message-definition 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@foxglove/message-definition 的下载量有多少?

根据 npm 官方下载统计,@foxglove/message-definition 在 2026/10/16 – 2026/11/14 这 30 天内被下载 886,988 次,日均约 29,566 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@foxglove/message-definition 还在维护吗?

最新版本 0.5.0 发布于 2025/10/10(1.1 年前);至今共发布 5 个版本,其中过去 12 个月发布了 0 个;首次发布于 2023/02/28。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。