Saya mencoba melakukan sesuatu yang saya yakini mungkin terjadi, tetapi saya benar-benar tidak mengerti bagaimana melakukannya hanya dari dokumentasi webpack.
Saya menulis perpustakaan JavaScript dengan beberapa modul yang mungkin atau tidak bergantung satu sama lain. Selain itu, jQuery digunakan oleh semua modul dan beberapa dari mereka mungkin memerlukan plugin jQuery. Pustaka ini kemudian akan digunakan pada beberapa situs web yang berbeda yang mungkin memerlukan beberapa atau semua modul.
Mendefinisikan dependensi antar modul saya sangat mudah, tetapi mendefinisikan dependensi pihak ketiga tampaknya lebih sulit dari yang saya harapkan.
Apa yang ingin saya capai : untuk setiap aplikasi saya ingin memiliki dua file bundel satu dengan dependensi pihak ketiga yang diperlukan dan lainnya dengan modul yang diperlukan dari perpustakaan saya.
Contoh : Mari kita bayangkan bahwa perpustakaan saya memiliki modul berikut:
- a (membutuhkan: jquery, jquery.plugin1)
- b (membutuhkan: jquery, a)
- c (membutuhkan: jquery, jquery.ui, a, b)
- d (membutuhkan: jquery, jquery.plugin2, a)
Dan saya punya aplikasi (melihatnya sebagai file entri unik) yang membutuhkan modul a, b dan c. Webpack untuk kasus ini harus menghasilkan file berikut:
- bundel vendor : dengan jquery, jquery.plugin1 dan jquery.ui;
- bundel situs web : dengan modul a, b dan c;
Pada akhirnya, saya lebih suka memiliki jQuery sebagai global jadi saya tidak perlu meminta itu pada setiap file tunggal (misalnya, saya hanya memerlukannya pada file utama). Dan plugin jQuery hanya akan memperpanjang $ global seandainya diperlukan (itu tidak masalah jika tersedia untuk modul lain yang tidak membutuhkannya).
Dengan asumsi ini mungkin, apa yang akan menjadi contoh file konfigurasi webpack untuk kasus ini? Saya mencoba beberapa kombinasi loader, eksternal, dan plugin pada file konfigurasi saya, tetapi saya tidak benar-benar mendapatkan apa yang mereka lakukan dan mana yang harus saya gunakan. Terima kasih!