Sie finden diesen Import unten in Zeile 4 im Changesets-Quellcode
import { format } from "util";
In diesem Artikel wird ein Überblick über das Util-Modul und seine Verwendung in Changesets gegeben.
Das util-Modul ist in erster Linie darauf ausgelegt, die Anforderungen der internen APIs von Node.js zu unterstützen. Viele der Dienstprogramme sind jedoch auch für Anwendungs- und Modulentwickler nützlich. Der Zugriff erfolgt über:
const util = require('util');
Mehr über das Util-Modul können Sie hier lesen.
Das Util-Modul verfügt über einige APIs, aber wir sind an der Format-API interessiert, da diese im Quellcode von Changesets verwendet wird.
Die Methode util.format() gibt eine formatierte Zeichenfolge zurück, die das erste Argument als printf-ähnliches Format verwendet.
Das erste Argument ist eine Zeichenfolge, die null oder mehr Platzhaltertoken enthält. Jedes Platzhaltertoken wird durch den konvertierten Wert des entsprechenden Arguments ersetzt. Unterstützte Platzhalter sind:
%s – Zeichenfolge.
%d – Zahl (Ganzzahl oder Gleitkommawert).
%i – Ganzzahl.
%f – Gleitkommawert.
%j – JSON. Wird durch die Zeichenfolge „[Circular]“ ersetzt, wenn das Argument Zirkelverweise enthält.
%o – Objekt. Eine Zeichenfolgendarstellung eines Objekts mit allgemeiner JavaScript-Objektformatierung. Ähnlich wie
util.inspect() mit Optionen { showHidden: true, Depth: 4, showProxy: true }. Dadurch wird das vollständige Objekt angezeigt
einschließlich nicht aufzählbarer Symbole und Eigenschaften.
%O – Objekt. Eine Zeichenfolgendarstellung eines Objekts mit allgemeiner JavaScript-Objektformatierung. Ähnlich wie util.inspect()
ohne Optionen. Dadurch wird das vollständige Objekt ohne nicht aufzählbare Symbole und Eigenschaften angezeigt.
%% – einzelnes Prozentzeichen („%“). Dies verbraucht kein Argument.
Wenn der Platzhalter kein entsprechendes Argument hat, wird der Platzhalter nicht ersetzt.
util.format('%s:%s', 'foo'); // Returns: 'foo:%s'
Wenn mehr Argumente an die Methode util.format() übergeben werden als Platzhalter vorhanden sind, werden die zusätzlichen Argumente in Zeichenfolgen umgewandelt und dann mit der zurückgegebenen Zeichenfolge verkettet, jeweils getrennt durch ein Leerzeichen. Überzählige Argumente, deren Typ „Objekt“ oder „Symbol“ ist (außer null), werden von util.inspect() transformiert.
util.format('%s:%s', 'foo', 'bar', 'baz'); // 'foo:bar baz'
Wenn das erste Argument keine Zeichenfolge ist, gibt util.format() eine Zeichenfolge zurück, die die Verkettung aller durch Leerzeichen getrennten Argumente darstellt. Jedes Argument wird mit util.inspect().
in einen String umgewandelt
util.format(1, 2, 3); // '1 2 3'
Wenn nur ein Argument an util.format() übergeben wird, wird es unverändert ohne Formatierung zurückgegeben.
import { format } from "util";
Da wir nun die Grundlagen des Util-Moduls und der Format-API verstanden haben, schauen wir uns nun die Formatverwendung in Changesets an.
Bei der Suche nach „Format“ habe ich zwei Fälle gefunden, in denen „Format“ verwendet wird.
const util = require('util');
Dies gibt nur einen Fehler aus und es müssen keine Ersetzungen vorgenommen werden, da das erste Argument eine leere Zeichenfolge ist.
util.format('%s:%s', 'foo'); // Returns: 'foo:%s'
Dies erzeugt eine durch ein Leerzeichen getrennte Zeichenfolge, vorausgesetzt …args ist durch Kommas getrennt
Bei Thinkthroo studieren wir große Open-Source-Projekte und stellen Architekturführer zur Verfügung. Wir haben mit Rückenwind wiederverwendbare Komponenten entwickelt, die Sie in Ihrem Projekt nutzen können. Wir bieten Next.js-, React- und Node-Entwicklungsdienste an.
Buchen Sie einen Termin mit uns, um Ihr Projekt zu besprechen.
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
Das obige ist der detaillierte Inhalt vonVerwendung des Node.js-Util-Moduls in Changesets. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!