您将在 Changesets 源代码中的第 4 行导入下面找到此内容
import { format } from "util";
本文概述了 util 模块及其在变更集中的用法。
util模块主要是为了支持Node.js自己的内部API的需求而设计的。然而,许多实用程序对于应用程序和模块开发人员也很有用。可以使用以下方式访问它:
const util = require('util');
您可以在此处阅读有关 Util 模块的更多信息。
Util 模块有相当多的 API,但我们对 Format API 感兴趣,因为这是在 Changesets 源代码中使用的。
util.format() 方法使用第一个参数作为类似 printf 的格式返回格式化字符串。
第一个参数是包含零个或多个占位符标记的字符串。每个占位符标记都替换为相应参数的转换值。支持的占位符有:
%s — 字符串。
%d — 数字(整数或浮点值)。
%i — 整数。
%f — 浮点值。
%j — JSON。如果参数包含循环引用,则替换为字符串“[Circular]”。
%o — 对象。具有通用 JavaScript 对象格式的对象的字符串表示形式。类似于
util.inspect() 带有选项 { showHidden: true, depth: 4, showProxy: true }。这将显示完整的对象
包括不可枚举的符号和属性。
%O — 对象。具有通用 JavaScript 对象格式的对象的字符串表示形式。类似于 util.inspect()
没有选项。这将显示不包括不可枚举符号和属性的完整对象。
%% — 单个百分号 (‘%’)。这不会消耗参数。
如果占位符没有相应的参数,则不会替换占位符。
util.format('%s:%s', 'foo'); // Returns: 'foo:%s'
如果传递给 util.format() 方法的参数多于占位符的数量,则多余的参数将被强制转换为字符串,然后连接到返回的字符串,每个字符串均以空格分隔。 typeof 为‘object’或‘symbol’(null 除外)的过多参数将被 util.inspect() 转换。
util.format('%s:%s', 'foo', 'bar', 'baz'); // 'foo:bar baz'
如果第一个参数不是字符串,则 util.format() 返回一个由空格分隔的所有参数串联而成的字符串。每个参数都使用 util.inspect().
转换为字符串
util.format(1, 2, 3); // '1 2 3'
如果仅将一个参数传递给 util.format(),则该参数将按原样返回,不带任何格式。
import { format } from "util";
现在我们了解了 Util 模块和格式 API 的基础知识,现在让我们看看 Changesets 中的格式用法。
搜索格式,我发现了 2 个使用格式的实例。
const util = require('util');
这只是输出错误,并且由于第一个参数是空字符串,因此不需要进行替换。
util.format('%s:%s', 'foo'); // Returns: 'foo:%s'
这会产生一个由空格分隔的字符串,假设…args是逗号分隔的
在 Thinkthroo,我们研究大型开源项目并提供架构指南。我们开发了使用 Tailwind 构建的可重用组件,您可以在项目中使用它们。我们提供 Next.js、React 和 Node 开发服务。
与我们预约会面讨论您的项目。
https://www.npmjs.com/package/util
https://github.com/changesets/changesets/blob/main/packages/cli/src/index.ts#L4
https://github.com/changesets/changesets/blob/main/packages/cli/src/index.ts#L88
https://nodejs.org/docs/latest-v8.x/api/util.html#util_util_format_format_args
https://github.com/changesets/changesets/blob/main/packages/logger/src/index.ts#L23
https://github.com/changesets/changesets/blob/main/packages/get-github-info/src/index.test.ts#L127
https://github.com/changesets/changesets/blob/main/packages/cli/src/index.ts#L88
以上是变更集中的 Node.js util 模块用法的详细内容。更多信息请关注PHP中文网其他相关文章!