首页  >  文章  >  web前端  >  变更集中的 Node.js util 模块用法

变更集中的 Node.js util 模块用法

DDD
DDD原创
2024-11-27 06:11:22441浏览

您将在 Changesets 源代码中的第 4 行导入下面找到此内容

import { format } from "util";

本文概述了 util 模块及其在变更集中的用法。

实用模块

util模块主要是为了支持Node.js自己的内部API的需求而设计的。然而,许多实用程序对于应用程序和模块开发人员也很有用。可以使用以下方式访问它:

const util = require('util');

您可以在此处阅读有关 Util 模块的更多信息。

Node.js util module usage in Changesets

Util 模块有相当多的 API,但我们对 Format API 感兴趣,因为这是在 Changesets 源代码中使用的。

util.format(format[, …args])

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 中的格式用法。

变更集中的 util.format 用法

搜索格式,我发现了 2 个使用格式的实例。

Node.js util module usage in Changesets

const util = require('util');

这只是输出错误,并且由于第一个参数是空字符串,因此不需要进行替换。

Node.js util module usage in Changesets

util.format('%s:%s', 'foo');
// Returns: 'foo:%s'

这会产生一个由空格分隔的字符串,假设…args是逗号分隔的

关于我们:

在 Thinkthroo,我们研究大型开源项目并提供架构指南。我们开发了使用 Tailwind 构建的可重用组件,您可以在项目中使用它们。我们提供 Next.js、React 和 Node 开发服务。

与我们预约会面讨论您的项目。

Node.js util module usage in Changesets

参考资料:

  1. https://www.npmjs.com/package/util

  2. https://github.com/changesets/changesets/blob/main/packages/cli/src/index.ts#L4

  3. https://github.com/changesets/changesets/blob/main/packages/cli/src/index.ts#L88

  4. https://nodejs.org/docs/latest-v8.x/api/util.html#util_util_format_format_args

  5. https://github.com/changesets/changesets/blob/main/packages/logger/src/index.ts#L23

  6. https://github.com/changesets/changesets/blob/main/packages/get-github-info/src/index.test.ts#L127

  7. https://github.com/changesets/changesets/blob/main/packages/cli/src/index.ts#L88

以上是变更集中的 Node.js util 模块用法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn