これは、Changesets ソース コードの 4 行目で import の下にあります
import { format } from "util";
この記事では、util モジュールの概要と変更セットでのその使用法について説明します。
util モジュールは主に、Node.js 独自の内部 API のニーズをサポートするように設計されています。ただし、ユーティリティの多くは、アプリケーションおよびモジュールの開発者にとっても役立ちます。以下を使用してアクセスできます:
const util = require('util');
Util モジュールの詳細については、こちらをご覧ください。
Util モジュールにはかなりの API がありますが、Format API に興味があります。これは、Changesets ソース コードで使用されていることが判明しているためです。
util.format() メソッドは、最初の引数を printf のような形式として使用して、フォーマットされた文字列を返します。
最初の引数は、0 個以上のプレースホルダー トークンを含む文字列です。各プレースホルダー トークンは、対応する引数からの変換された値に置き換えられます。サポートされているプレースホルダーは次のとおりです:
%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() に引数が 1 つだけ渡された場合、それはフォーマットされずにそのまま返されます。
import { format } from "util";
Util モジュールとフォーマット API の基本を理解したので、次はチェンジセットでのフォーマットの使用法を見てみましょう。
format を検索すると、format が使用されているインスタンスが 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 中国語 Web サイトの他の関連記事を参照してください。