Rumah >hujung hadapan web >tutorial js >penggunaan rollup-plugin-analyzer dalam skrip trpc

penggunaan rollup-plugin-analyzer dalam skrip trpc

Barbara Streisand
Barbara Streisandasal
2024-10-26 15:34:30342semak imbas

Dalam artikel sebelumnya, kami memberikan gambaran mental tentang fungsi dalam fail analyzeSizeChange.ts, Dalam artikel ini, mari ketahui cara perubahan saiz sebenar dianalisis.

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) => {
   },
 });
}

analisis diimport daripada rollup-plugin-analyzer. Ia mempunyai objek sebagai param dengan pilihan:

  1. summaryOnly — Hanya ringkasan bundle output dan graf bar penggunaan modul

  2. skipFormatted — Jangan keluarkan rentetan berformat

  3. onAnalysis — Panggilan balik untuk digunakan dengan objek analisis (saya menyalin penerangan di bawah untuk onAnalysis daripada npm:)

fungsi akan digunakan dengan:

- analysisObject (Objek)

- Saiz berkas (Nombor) — saiz berkas diberikan dalam bait

- bundleOrigSize (Nombor) — saiz bundle asal dalam bait

- bundleReduction (Nombor) — peratusan pengurangan saiz bundle yang diberikan

- moduleCount (Nombor) — Kiraan semua modul yang disertakan

- modul (Array) — susunan objek analisis modul

- modul (Objek)

- id (String) — laluan modul / id modul rollup

- saiz (Nombor) — saiz kod modul yang diberikan dalam bait

- origSize (Nombor) — saiz kod asal modul dalam bait

- tanggungan (Array) — senarai id / laluan modul bergantung

- peratus (Nombor) — peratusan saiz modul berbanding keseluruhan berkas

- pengurangan (Nombor) — peratusan pengurangan saiz yang diberikan

- renderedExports (Array) — senarai eksport bernama terpakai

- RemoveExports (Array) — senarai eksport bernama yang tidak digunakan

Mari kita lihat berapa banyak pilihan ini sebenarnya digunakan dalam fail analyzeSizeChange.

- Saiz berkas

- modul

Hanya ini didapati digunakan dalam analysisSizeChange.ts

Tetapi dalam keadaan apakah skrip ini dilaksanakan? adakah selepas anda menyemak beberapa kod? adakah ia melaporkan permintaan tarik? Untuk mengetahuinya, kita perlu pergi ke mana kod membawa kita.

Anda perlu terlebih dahulu mencari analisaSizeChange untuk melihat di mana ia digunakan. Ia didapati digunakan dalam skrip/getRollupConfig.ts

rollup-plugin-analyzer usage in trpc scripts

Seterusnya, anda perlu mengetahui di mana getRollupConfig digunakan. Ia digunakan dalam banyak pakej.

rollup-plugin-analyzer usage in trpc scripts

tetapi saya memilih packages/client/rollup.config.ts, konfigurasi rollup ini digunakan dalam skrip binaan.

"scripts": {
 "build": "rollup - config rollup.config.ts - configPlugin rollup-plugin-swc3",

Jadi jawapannya, anda akan mengalami perubahan saiz berkas apabila anda membina pakej dalam kod sumber tRPC.

Tentang kami:

Di Thinkthroo, kami mengkaji projek sumber terbuka yang besar dan menyediakan panduan seni bina. Kami telah membangunkan Komponen resubale, dibina dengan tailwind, yang boleh anda gunakan dalam projek anda. Kami menawarkan perkhidmatan pembangunan Next.js, React dan Node.

Tempah mesyuarat dengan kami untuk menyelesaikan projek anda.

rollup-plugin-analyzer usage in trpc scripts

rollup-plugin-analyzer usage in trpc scripts

Rujukan:

  1. https://github.com/trpc/trpc/blob/next/scripts/analyzeSizeChange.ts

  2. https://github.com/search?q=repo:trpc/trpc getRollupConfig&type=code

  3. https://github.com/trpc/trpc/blob/3388c9691d122b9d4047b2de0caedcdf611354ab/packages/client/rollup.config.ts#L3

  4. https://github.com/trpc/trpc/blob/3388c9691d122b9d4047b2de0caedcdf611354ab/scripts/getRollupConfig.ts#L9

  5. https://www.npmjs.com/package/rollup-plugin-analyzer#options



Atas ialah kandungan terperinci penggunaan rollup-plugin-analyzer dalam skrip trpc. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn