Im vorherigen Artikel haben wir einen Überblick über die Funktionen in der Datei „analysateSizeChange.ts“ gegeben. In diesem Artikel wollen wir herausfinden, wie die tatsächliche Größenänderung analysiert wird.
import analyze from 'rollup-plugin-analyzer'; export default function analyzeSizeChange(packageDir: string) { let analyzePluginIterations = 0; return analyze({ summaryOnly: process.env.CI ? undefined : true, skipFormatted: process.env.CI ? true : undefined, onAnalysis: (analysis) => { }, }); }
analyze wird aus rollup-plugin-analyzer importiert. Es hat ein Objekt als Parameter mit Optionen:
summaryOnly – Gibt nur Bundle-Zusammenfassungen und Balkendiagramme zur Modulnutzung aus
skipFormatted – Keine formatierte Zeichenfolge ausgeben
onAnalysis – Rückruf, der mit dem Analyseobjekt aufgerufen werden soll (ich habe die folgende Beschreibung für onAnalysis von npm kopiert:)
Funktion wird aufgerufen mit:
- AnalyseObjekt (Objekt)
- bundleSize (Number) – gerenderte Bundle-Größe in Bytes
- bundleOrigSize (Number) – ursprüngliche Bundle-Größe in Bytes
- bundleReduction (Number) – Prozentsatz der Reduzierung der gerenderten Bundle-Größe
- moduleCount (Number) – Anzahl aller enthaltenen Module
- Module (Array) – Array von Modulanalyseobjekten
- Modul (Objekt)
- id (String) – Pfad des Moduls/Rollup-Modul-ID
– Größe (Zahl) – Größe des gerenderten Modulcodes in Bytes
- origSize (Zahl) – Größe des Originalcodes des Moduls in Bytes
- Abhängige (Array) – Liste der abhängigen Modul-IDs/Pfade
- Prozent (Anzahl) – Prozentsatz der Modulgröße im Verhältnis zum gesamten Paket
- Reduzierung (Anzahl) – Prozentsatz der gerenderten Größenreduzierung
- renderedExports (Array) – Liste der verwendeten benannten Exporte
- RemovedExports (Array) – Liste der nicht verwendeten benannten Exporte
Sehen wir uns an, wie viele dieser Optionen tatsächlich in der Datei „analysateSizeChange“ verwendet werden.
- bundleSize
- Module
Nur diese werden in „analysateSizeChange.ts“ verwendet
Aber unter welchen Umständen wird dieses Skript ausgeführt? Ist es, nachdem Sie einen Code eingecheckt haben? Berichtet es über eine Pull-Anfrage? Um das herauszufinden, müssen wir dorthin gehen, wohin uns der Code führt.
Sie müssten zuerst nach „analysateSizeChange“ suchen, um zu sehen, wo es verwendet wird. Es wird gefunden, dass es in script/getRollupConfig.ts
verwendet wirdAls nächstes müssten Sie herausfinden, wo getRollupConfig verwendet wird. Es wird in vielen Paketen verwendet.
aber ich habe packets/client/rollup.config.ts ausgewählt, diese Rollup-Konfiguration wird im Build-Skript verwendet.
"scripts": { "build": "rollup - config rollup.config.ts - configPlugin rollup-plugin-swc3",
Also die Antwort: Die Bundle-Größe ändert sich, wenn Sie ein Paket im tRPC-Quellcode erstellen.
Bei Thinkthroo studieren wir große Open-Source-Projekte und stellen Architekturführer zur Verfügung. Wir haben mit Rückenwind resubale 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://github.com/trpc/trpc/blob/next/scripts/analyzeSizeChange.ts
https://github.com/search?q=repo:trpc/trpc getRollupConfig&type=code
https://github.com/trpc/trpc/blob/3388c9691d122b9d4047b2de0caedcdf611354ab/packages/client/rollup.config.ts#L3
https://github.com/trpc/trpc/blob/3388c9691d122b9d4047b2de0caedcdf611354ab/scripts/getRollupConfig.ts#L9
https://www.npmjs.com/package/rollup-plugin-analyzer#options
Das obige ist der detaillierte Inhalt vonVerwendung des Rollup-Plugin-Analyzers in TRPC-Skripten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!