Aku mulai bekerja dengan webpack
dengan node/express
lingkungan pengembangan ReactJS
aplikasi sisi server diberikan dengan react-router
. Saya menjadi sangat bingung tentang peran setiap paket webpack untuk lingkungan dev dan prod (runtime).
Berikut ringkasan pemahaman saya:
webpack
: Adalah sebuah paket, alat untuk menggabungkan bagian-bagian berbeda dari aplikasi web dan memaketkannya kemudian menjadi satu file .js (biasanya bundle.js
). File hasil kemudian disajikan dalam lingkungan prod untuk dimuat oleh aplikasi dan berisi semua komponen yang diperlukan untuk menjalankan kode. Fitur termasuk kode menyusut, minifikasi, dll.
webpack-dev-server
: Merupakan paket yang menawarkan server untuk memproses file website. Itu juga membangun satu file .js ( bundle.js
) dari komponen klien tetapi menyajikannya dalam memori. Ia juga memiliki opsi ( -hot
) untuk memantau semua file bangunan dan membangun bundel baru dalam memori jika terjadi perubahan kode. Server disajikan langsung di browser (misal:) http:/localhost:8080/webpack-dev-server/whatever
. Kombinasi pemuatan memori, pemrosesan panas, dan penyajian browser memungkinkan pengguna memperbarui aplikasi di browser saat kode berubah, ideal untuk lingkungan pengembangan.
Jika saya ragu tentang teks di atas, saya benar-benar tidak yakin tentang konten di bawah, jadi mohon beri tahu saya jika perlu
Masalah umum saat menggunakan webpack-dev-server
with node/express
adalah webpack-dev-server
server, sebagaimana adanya node/express
. Itu membuat lingkungan ini sulit untuk menjalankan klien dan beberapa kode node / express (API, dll.). CATATAN: Inilah yang saya hadapi tetapi akan sangat bagus untuk memahami mengapa itu terjadi secara lebih rinci ...
webpack-dev-middleware
: Ini adalah middleware dengan fungsi yang sama webpack-dev-server
(inmemory bundling, hot reloading), tetapi dalam format yang dapat disuntikkan ke server/express
aplikasi. Dengan cara itu, Anda memiliki semacam server (the webpack-dev-server
) orang dalam server node. Ups: Apakah ini mimpi gila ??? Bagaimana karya ini bisa memecahkan persamaan dev dan prod dan membuat hidup lebih sederhana
webpack-hot-middleware
: Ini ... Terjebak di sini ... menemukan bagian ini ketika mencari webpack-dev-middleware
... Tidak tahu bagaimana menggunakannya.
CATATAN AKHIR: Maaf, apakah ada pemikiran yang salah. Saya sangat membutuhkan bantuan untuk memahami varian ini di lingkungan yang kompleks. Jika memungkinkan, tambahkan lebih banyak paket / data yang akan membangun seluruh skenario.
webpack-dev-middleware
(dan berpotensiwebpack-hot-middleware
) jika Anda ingin menulis server pengembangan kustom Anda sendiri. Kecuali jika ada fitur tertentu yang Anda inginkan yangwebpack-dev-server
tidak dimiliki, Anda sebaiknya menggunakannya.