变更集中的 Nodejs util 模块用法

您将在 changesets 源代码中的第 4 行找到导入内容

import { format } from "util";

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

实用模块

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

const util = require('util');

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

变更集中的 Nodejs util 模块用法

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(),则该参数将按原样返回,不带任何格式。

util.format('%% %s'); // '%% %s'

现在我们了解了 util 模块和格式 api 的基础知识,现在让我们看看 changesets 中的格式用法。

变更集中的 util.format 用法

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

变更集中的 Nodejs util 模块用法

\`\`\`${format("", err).replace(process.cwd(), "")}\`\`\`

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

变更集中的 Nodejs util 模块用法

util .format("", …args) .split("\n") .join("\n" + fullPrefix + " ")

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

关于我们:

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

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

变更集中的 Nodejs util 模块用法

参考资料:

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

以上就是变更集中的 Nodejs util 模块用法的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1498761.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
创建 CLI 来搭建扩展
上一篇 2025年12月19日 20:44:11
JavaScript数组splice方法:为什么删除元素后返回的是被删除元素而不是修改后的数组?
下一篇 2025年12月19日 20:44:39

相关推荐

  • js中this的六种模式

    this的指向取决于函数调用方式,共六种绑定模式:1. 全局环境中this指向window(浏览器)或global(Node.js);2. 独立调用时非严格模式指向全局对象,严格模式为undefined;3. 作为对象方法调用时this指向调用者;4. 构造函数中this指向新创建的实例;5. 显式…

    2026年5月10日
    000
  • CSS Positions布局实现交互效果的创意方法

    CSS Positions布局实现交互效果的创意方法 随着Web技术的不断发展,用户对于网页的交互性要求也越来越高。除了简单的点击和滚动之外,设计师们也开始通过CSS Positions布局来实现更加丰富的交互效果。本文将介绍一些创意的方法,并给出具体的代码示例。 Sticky Sidebar(吸顶…

    2026年5月10日
    000
  • LeetCode 冥想:计算位数

    计数位的描述如下: 给定一个整数 n,返回一个数组 ans 长度 n 1 这样对于每个 i (0 例如: input: n = 2output: [0, 1, 1]explanation:0 –> 01 –> 12 –> 10 或者: input: n = 5output: …

    用户投稿 2026年5月10日
    000
  • python中的ord是什么意思 python字符转ASCII码ord函数解析

    ord()函数用于将单个字符转换为其对应的ascii或unicode码值。1) ord(‘a’)返回65,2) 适用于ascii和unicode字符,3) 与chr()函数互为逆操作,4) 可用于字符编码处理和性能优化。 在Python编程中,ord()函数是一个非常实用的工…

    2026年5月10日
    000
  • 如何销毁或取消初始化 Magnific Popup 图片画廊

    如何销毁或取消初始化 Magnific Popup 图片画廊如何销毁或取消初始化 Magnific Popup 图片画廊如何销毁或取消初始化 Magnific Popup 图片画廊如何销毁或取消初始化 Magnific Popup 图片画廊

    本文档介绍了如何销毁或取消初始化 Magnific Popup 插件创建的图片画廊。通过关闭当前弹窗、移除事件监听器等步骤,可以有效地释放资源并避免潜在的冲突。文章提供了详细的代码示例,演示了初始化和销毁 Magnific Popup 的方法,方便开发者在项目中灵活应用。 Magnific Popu…

    2026年5月10日 用户投稿
    000
  • C++析构函数作用详解_C++虚析构函数的必要性分析

    析构函数用于释放对象资源,防止内存泄漏;其名为类名前加~,无参无返回值,自动调用;若基类析构函数非虚,通过基类指针删除派生类对象时将导致派生类析构函数不被调用,引发资源泄漏,因此继承体系中基类析构函数应声明为虚函数。 析构函数在C++中用于释放对象所占用的资源,确保程序运行过程中不会出现内存泄漏或资…

    2026年5月10日
    000
  • c++怎么处理TCP粘包问题_c++ TCP粘包与拆包解决方案

    答案:TCP粘包拆包因无消息边界,需应用层定义协议解决。常用方法包括固定长度、分隔符和长度前缀。代码示例展示用长度头解析,结合缓冲区管理完整读取。推荐使用Boost.Asio等库简化处理。 在使用 C++ 进行 TCP 网络编程时,处理粘包和拆包问题是确保通信正确性的关键环节。TCP 是面向字节流的…

    2026年5月10日
    000
  • Go语言接口类型转换:如何安全地将接口变量转换为自定义类型?

    Go语言接口类型转换详解及安全实践 Go语言中,接口类型转换是常见且关键的操作。本文将详细阐述如何安全地将接口变量转换为自定义类型(例如person结构体),并说明如何正确地存储转换结果。 核心问题在于如何将接口变量inter转换为person类型。直接使用inter.(*person)并非正确方法…

    2026年5月10日
    000
  • 杠杆如何控制风险_止损、仓位与回撤的系统化管理

    该文提出五项期货交易风控策略:一、动态止损点,依ATR调整;二、分层仓位分配,按信号强度启用A至E层;三、最大回撤熔断,依净值标准差设阈值;四、波动率适配杠杆,据滚动比率动态调节;五、多周期共振验证,三周期支撑/阻力位收敛才建仓。 Binance币安 欧易OKX ️ Huobi火币️ 一、设置动态止…

    2026年5月10日
    000
  • 网页多图片上传与预览最佳实践:避免ID重复,巧用类选择器

    本教程旨在解决网页中多个独立图片上传与预览功能冲突的问题。核心在于强调html id 属性的唯一性原则,并演示如何利用 class 属性和javascript的事件委托或遍历机制,为页面上每个独立的图片上传组件绑定正确的事件监听器,确保每个上传操作只影响其对应的图片显示区域,从而实现多图片上传功能的…

    2026年5月10日
    000
  • sprt在c语言中怎么用

    在 C 语言中使用 sprt 函数可生成伪随机浮点数,位于 [0, 1) 范围内。使用方法:1. 包含 ;2. 生成随机数:double random_number = sprt();sprt 返回的随机数使用 Mersenne Twister 算法,具有良好的统计特性,但不可重复。 如何在 C 语…

    2026年5月10日
    000
  • c++中a.x是什么意思

    c++kquote>在 C++ 中,”a.x”访问类或结构 a 的成员变量或成员函数,通过点运算符”.”。成员变量返回其值,成员函数执行调用。访问限定符控制成员访问权限。 c++ 中的 a.x 在 C++ 中,”a.x”表…

    2026年5月10日
    100
  • Python中如何创建TCP服务器?

    在python中创建tcp服务器最常用的方法是使用socket模块。1) 导入socket模块并创建tcp/ip套接字。2) 绑定到所有网络接口的端口8888。3) 开始监听连接。4) 接受客户端连接,接收数据并发送响应。5) 考虑使用多线程或异步编程处理多个客户端连接。6) 调整缓冲区大小以优化数…

    2026年5月10日
    000
  • pycharm怎么运行一行代码

    使用 PyCharm 运行一行代码的方法:将光标置于要运行的行上。按下快捷键 Ctrl/Cmd + Enter。右键单击该行并选择“Run Line”。单击编辑器顶部工具栏中的“Run Line”按钮。 如何使用 PyCharm 运行一行代码 PyCharm 是一款功能强大的 Python 集成开发…

    2026年5月10日
    000
  • Kivy Android 应用实时帧显示黑屏问题排查与解决:颜色格式是关键

    本文探讨Kivy应用在Android设备上显示实时视频流时出现黑屏的问题。核心原因是OpenCV输出的BGR颜色格式与Kivy Texture在Android上期望的RGB格式不匹配。通过将Texture创建和缓冲区填充时的颜色格式从’bgr’改为’rgb&#82…

    2026年5月10日
    000
  • Vue中将带有特定标记的字符串渲染为动态组件(如router-link)的教程

    本教程详细介绍了如何在Vue应用中,将包含特定标记(如哈希标签)的字符串动态渲染为可交互的Vue组件(如router-link),而非简单的HTML标签。文章将深入探讨使用和渲染函数(h)两种核心方法,解决v-html无法编译Vue组件的问题,并提供清晰的代码示例和实现步骤。 理解问题:为什么v-h…

    2026年5月10日
    000
  • 如何使用弹性布局使div在可视区域内水平垂直居中?

    使用弹性布局实现div在可视区域内的水平垂直居中 如何让div在HTML中脱颖而出,同时保持垂直和水平对齐?弹性布局提供了一种简洁的解决方案,允许div在body的可见区域内完美居中。 要实现此目的,请遵循以下步骤: 将父容器设置为固定位置,并使用0值覆盖其所有边距,确保其占据浏览器窗口的整个可见区…

    2026年5月10日
    000
  • c语言里面!=什么意思

    在 C 语言中,!= 运算符代表不等于,用于比较两个操作数,不相等返回真,否则返回假。 C 语言中 != 运算符的含义 在 C 语言中,!= 运算符代表不等于。它是等于运算符 == 的反运算符。 语法 != 操作 立即学习“C语言免费学习笔记(深入)”; != 运算符将两个操作数进行比较,如果两个操…

    2026年5月10日
    000
  • 构造函数和析构函数如何在 C++ 中实现多态性?

    c++++ 中的多态性通过构造函数和析构函数实现,其中构造函数根据对象的类型创建不同的对象,而虚析构函数确保在销毁派生类对象时调用其基类的析构函数。通过使用多态性,不同类型的对象可以响应相同的方法调用以不同的方式,释放资源。 在 C++ 中使用构造函数和析构函数实现多态性 简介 多态性是面向对象编程…

    2026年5月10日
    000
  • 配置文件解析:YAML与toml++性能对比实测

    配置文件解析:YAML与toml++性能对比实测配置文件解析:YAML与toml++性能对比实测配置文件解析:YAML与toml++性能对比实测配置文件解析:YAML与toml++性能对比实测

    配置文件解析的性能,YAML和toml++哪个更快?简单来说,toml++通常更快,尤其是在大型、复杂配置文件的情况下。但实际性能会受到多种因素影响,例如解析库的实现、配置文件的结构以及硬件环境。 toml++在性能上通常优于YAML,这主要是因为其设计目标之一就是高性能。YAML虽然灵活,但在解析…

    2026年5月10日 用户投稿
    100

发表回复

登录后才能评论
关注微信