Rumah >hujung hadapan web >tutorial js >Panduan Pemula untuk Webpack
mata teras:
Asas Webpack Webpack:html-webpack-plugin
dan style-loader
Menggunakan keupayaan webpack untuk mengubah JavaScript moden, menguruskan gaya dan sumber, dan mempercepatkan pembangunan menggunakan alat seperti css-loader
dan pengoptimuman untuk pembinaan versi pengeluaran. webpack-dev-server
dan pernyataan) antara fail. Webpack secara statik melangkah melalui semua modul untuk membina graf dan menggunakannya untuk menghasilkan satu bundle (atau berbilang bundle) - fail JavaScript yang mengandungi kod dari semua modul dan digabungkan dalam urutan yang betul. "Statik" bermaksud bahawa apabila Webpack membina graf pergantungannya, ia tidak melaksanakan kod sumber, tetapi menggabungkan modul dan kebergantungan mereka ke dalam satu bundle. Anda kemudian boleh memasukkannya ke dalam fail HTML anda.
Konsep utama webpack: require
import
entry
ditetapkan kepada ./src/index.js
, tetapi kami boleh menentukan modul yang berbeza (atau bahkan pelbagai modul) dalam fail konfigurasi Webpack. output
fail lain yang dihasilkan (seperti imej). Sudah tentu, kita boleh menentukan nilai yang berbeza dalam konfigurasi seperti yang diperlukan. ./dist/main.js
./dist
loaders: mode
atau development
. Ini membolehkan webpack menggunakan pengoptimuman terbina dalam yang sepadan dengan setiap persekitaran. Nilai lalai ialah production
. Mod none
bermakna tiada pilihan pengoptimuman lalai digunakan. production
none
Malah projek mudah mengandungi fail HTML, CSS, dan JavaScript. Di samping itu, ia juga boleh mengandungi sumber seperti fon, imej, dll. Oleh itu, aliran kerja webpack biasa akan termasuk menyediakan fail
dengan pautan CSS dan JS yang sesuai dan sumber yang diperlukan. Selain itu, jika anda mempunyai banyak modul CSS dan JS yang saling bergantung, anda perlu mengoptimumkan dan menggabungkannya dengan betul ke dalam unit yang sedia untuk pengeluaran. Untuk melakukan semua ini, Webpack bergantung pada konfigurasi. Bermula dengan versi 4 dan kemudian, WebPack memberikan nilai lalai yang munasabah dari kotak, jadi tiada fail konfigurasi diperlukan. Walau bagaimanapun, untuk mana-mana projek yang tidak mudah, anda perlu menyediakan fail webpack.config.js
khas yang menerangkan cara menukar fail dan sumber dan jenis output yang perlu dihasilkan. Fail ini dengan cepat boleh menjadi besar, yang menjadikannya sukar untuk memahami bagaimana Webpack berfungsi melainkan jika anda memahami konsep utama di sebalik bagaimana ia berfungsi.
Berdasarkan konfigurasi yang disediakan, Webpack bermula pada titik masuk dan menghidupkan setiap modul yang ditemui ketika membina graf pergantungan. Jika modul mengandungi kebergantungan, proses ini dilakukan secara rekursif untuk setiap pergantungan sehingga traversal selesai. Webpack kemudian membungkus modul semua projek ke dalam sebilangan kecil berkas (biasanya hanya satu) untuk penyemak imbas untuk dimuatkan.
Ciri -ciri baru Webpack 5:
Webpack 5 dikeluarkan pada bulan Oktober 2020. Pengumuman itu panjang dan meneroka semua perubahan yang dibuat kepada Webpack. Tidak mustahil untuk menyebut semua perubahan, dan ia juga tidak perlu untuk panduan pemula seperti ini. Sebaliknya, saya akan cuba menyenaraikan beberapa perkara umum:
crypto
. Dalam banyak kes, mereka tidak perlu dan sangat meningkatkan saiz bundle. Itulah sebabnya Webpack 5 menghentikan pengisian secara automatik modul teras ini dan memberi tumpuan kepada modul serasi front-end. webpack-dev-server
sekarang webpack serve
. file-loader
, raw-loader
dan url-loader
. pemula:
Sekarang kita mempunyai asas teoretikal yang kukuh, marilah kita sedar dalam amalan.
Pertama, kami akan membuat direktori baru dan beralih kepadanya. Kemudian, kami akan memulakan projek baru:
<code class="language-bash">mkdir learn-webpack cd learn-webpack npm init -y</code>
Seterusnya, kita perlu memasang Webpack dan Webpack CLI secara tempatan (antara muka baris arahan):
<code class="language-bash">npm install webpack webpack-cli --save-dev</code>
maka kami akan membuat direktori src
dan meletakkan fail index.js
di dalamnya supaya ia mengandungi console.log("Hello, Webpack!");
. Sekarang kita boleh menjalankan tugas dev
untuk memulakan webpack dalam mod pembangunan:
<code class="language-bash">npm run dev</code>
Seperti yang dinyatakan sebelum ini, Webpack menetapkan titik entri lalai ke ./src/index.js
dan menetapkan output lalai ke ./dist/main.js
. Oleh itu, apabila kita menjalankan tugas dev
, apa yang dilakukan oleh Webpack ialah mendapatkan kod sumber fail index.js
dan membungkus kod akhir ke dalam fail main.js
.
Untuk mengesahkan bahawa kita mendapat output yang betul, kita perlu memaparkan hasil dalam penyemak imbas. Untuk melakukan ini, mari buat fail dist
di direktori index.html
:
<code class="language-html"><!DOCTYPE html> <meta charset="utf-8"> <title>Getting Started With Webpack</title> </code>
Sekarang, jika kita membuka fail dalam penyemak imbas kita, kita harus melihat "hello, webpack!"
(Kandungan berikut akan diringkaskan secara ringkas kerana batasan ruang, dan langkah -langkah teras dan coretan kod utama dikekalkan. Sila rujuk teks asal untuk tutorial lengkap.)
Gunakan HTML-WebPack-Plugin: Pasang dan konfigurasikan pemalam html-webpack-plugin
untuk menghasilkan dan mengemas kini index.html
secara automatik untuk mengelakkan pengubahsuaian manual.
Kemasukan dan Output Custom: webpack.config.js
Tukar JavaScript moden ke ES5: babel-loader
webpack.config.js
Pasang dan , konfigurasikan dalam css-loader
, import dan gunakan fail CSS ke halaman. style-loader
webpack.config.js
Gunakan modul di Webpack 5 untuk memproses sumber seperti gambar. asset/resource
Gunakan WebPack-Dev-Server untuk mempercepat pembangunan: Pasang dan konfigurasi untuk mencapai muat semula masa nyata. webpack-dev-server
Bersihkan output: Gunakan untuk membersihkan direktori output. clean-webpack-plugin
Kesimpulan:
Tutorial ini hanya memperkenalkan konsep teras Webpack, yang juga menyediakan banyak ciri lain, pemalam dan teknologi yang berbeza. Adalah disyorkan bahawa anda merujuk kepada dokumen rasmi dan sumber pembelajaran lain untuk belajar selanjutnya.
FAQ Webpack (versi disingkat):
webpack-merge
. style-loader
dan css-loader
. babel-loader
dan konfigurasikan. ts-loader
atau awesome-typescript-loader
. file-loader
atau url-loader
(Webpack 5 menggunakan modul aset). babel-loader
untuk mengendalikan JSX, anda boleh menggunakan react-hot-loader
. debug
dan devtool
untuk melihat mesej ralat dan jejak timbunan. Saya harap tutorial disingkat ini akan membantu anda memulakan dengan Webpack dengan cepat. Untuk maklumat lanjut, sila rujuk teks asal.
Atas ialah kandungan terperinci Panduan Pemula untuk Webpack. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!