您將在 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中文網其他相關文章!