Rumah >hujung hadapan web >tutorial js >Pengenalan kepada Bundler Esbuild
Esbuild: Cepat membina alat, mengucapkan selamat tinggal kepada redundansi webpack!
mata teras:
Pakej Esbuild Kod JavaScript ke dalam satu fail dengan cara yang sama dengan alat pembungkusan seperti Rollup. Ini adalah ciri utama Esbuild, yang menghidupkan modul, melaporkan isu-isu sintaks, "getaran pokok" menghilangkan fungsi yang tidak digunakan, memadam log dan penyataan debugger, memampatkan kod dan menyediakan pemetaan sumber.
Pakej Esbuild CSS ke dalam satu fail. Ia tidak sepenuhnya menggantikan preprocessors seperti SASS atau POSTCSS, tetapi Esbuild boleh mengendalikan kod separa, masalah sintaks, bersarang, pengekodan sumber dalam talian, pemetaan sumber, awalan automatik dan pemampatan.
Ini mungkin cukupTerdapat beberapa faedah untuk membungkus kod ke dalam satu fail:
Mengapa menggunakan Esbuild?
Tidak seperti alat pembungkusan JavaScript, Esbuild adalah fail yang boleh dikumpulkan GO yang melaksanakan banyak pemprosesan selari. Ia pantas, seratus kali lebih cepat daripada rollup, bungkusan atau webpack. Ia menjimatkan beberapa minggu masa pembangunan semasa kitaran hayat projek.
Di samping itu, Esbuild juga menyediakan:
Kenapa elakkan menggunakan esbuild?
Pada masa penulisan, Esbuild telah mencapai versi 0.18. Ia boleh dipercayai, tetapi ia masih merupakan produk beta.
Esbuild dikemas kini dengan kerap, dan pilihan mungkin berubah antara versi yang berbeza. Dokumentasi mengesyorkan bahawa anda berpegang pada versi tertentu. Anda boleh mengemas kini, tetapi anda mungkin perlu memindahkan fail konfigurasi dan menggali dokumentasi baru untuk menemui perubahan besar.
Juga ambil perhatian bahawa Esbuild tidak melakukan pemeriksaan jenis jenis, jadi anda masih perlu menjalankan tsc -noEmit
.
permulaan cepat super:
Jika perlu, buat projek node.js baru menggunakan npm init
dan pasang esbuild secara tempatan sebagai kebergantungan pembangunan:
<code class="language-bash">npm install esbuild --save-dev --save-exact</code>
Pemasangan mengambil kira -kira 9MB. Semak sama ada ia berfungsi dengan menjalankan arahan berikut untuk melihat versi yang dipasang:
<code class="language-bash">./node_modules/.bin/esbuild --version</code>
atau jalankan arahan berikut untuk melihat bantuan CLI:
<code class="language-bash">./node_modules/.bin/esbuild --help</code>
Gunakan API CLI untuk membungkus skrip kemasukan (myApp.js) dan semua modul yang diimport ke dalam satu fail bernama bundle.js. Esbuild akan mengeluarkan fail menggunakan format fungsi lalai, berorientasikan penyemak imbas, Ekspresi Fungsi Segera (Iife):
<code class="language-bash">./node_modules/.bin/esbuild myapp.js --bundle --outfile=bundle.js</code>
Jika anda tidak menggunakan node.js, anda boleh memasang esbuild dengan cara lain.
Projek Sampel:
Muat turun fail sampel dan konfigurasi esbuild dari GitHub. Ini adalah projek Node.js, jadi pasang kebergantungan esbuild tunggal menggunakan arahan berikut:
<code class="language-bash">npm install</code>
Bina fail sumber di SRC ke dalam direktori Build dan mulakan pelayan pembangunan dengan arahan berikut:
<code class="language-bash">npm start</code>
Sekarang, navigasi ke localhost: 8000 dalam penyemak imbas anda untuk melihat laman web yang memaparkan jam langsung. Apabila anda mengemas kini sebarang fail CSS dalam SRC/CSS/atau SRC/CSS/PARTIAL, ESBuild mengemas semula kod dan memuatkan semula gaya dalam masa nyata.
ctrl | cmd c > Hentikan pelayan.
Buat versi pengeluaran untuk penempatan menggunakan arahan berikut:
<code class="language-bash">npm install esbuild --save-dev --save-exact</code>Semak fail CSS dan JavaScript dalam direktori Build untuk melihat versi termampat tanpa peta sumber.
(kandungan sedemikian, kerana batasan ruang, sila rujuk teks asal atau meringkaskannya sendiri berdasarkan teks asal. Berikut adalah ringkasan topik bahagian berikutnya teks asal. Anda boleh mengekstrak kunci Maklumat dari teks asal berdasarkan topik ini dan buat pseudo-asal):
Gambaran Keseluruhan Projekpackage.json
Mengkonfigurasi esbuild esbuild.config.js
JavaScript Input and Output Files main.js
dom.js
time.js
Pembungkusan CSS main.css
variables.css
elements.css
Pemantauan, Membina semula dan Perkhidmatan Atas ialah kandungan terperinci Pengenalan kepada Bundler Esbuild. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!