Próbuję zrobić coś, co moim zdaniem powinno być możliwe, ale naprawdę nie mogę zrozumieć, jak to zrobić, tylko z dokumentacji pakietu internetowego.
Piszę bibliotekę JavaScript z kilkoma modułami, które mogą lub nie zależą od siebie. Ponadto jQuery jest używane przez wszystkie moduły, a niektóre z nich mogą wymagać wtyczek jQuery. Ta biblioteka będzie następnie używana na kilku różnych stronach internetowych, które mogą wymagać niektórych lub wszystkich modułów.
Definiowanie zależności między moimi modułami było bardzo łatwe, ale zdefiniowanie ich zależności od firm trzecich wydaje się być trudniejsze niż się spodziewałem.
Co chciałbym osiągnąć : dla każdej aplikacji chcę mieć dwa pliki pakietów, jeden z niezbędnymi zależnościami innych firm, a drugi z niezbędnymi modułami z mojej biblioteki.
Przykład : Wyobraźmy sobie, że moja biblioteka ma następujące moduły:
- a (wymaga: jquery, jquery.plugin1)
- b (wymaga: jquery, a)
- c (wymaga: jquery, jquery.ui, a, b)
- d (wymaga: jquery, jquery.plugin2, a)
Mam aplikację (zobacz ją jako unikalny plik wejściowy), która wymaga modułów a, bi c. Webpack dla tego przypadku powinien generować następujące pliki:
- pakiet dostawcy : z jquery, jquery.plugin1 i jquery.ui;
- pakiet strony internetowej : z modułami a, bi c;
Ostatecznie wolałbym mieć jQuery jako globalny, więc nie muszę wymagać tego na każdym pojedynczym pliku (mógłbym wymagać, na przykład, tylko w pliku głównym). A wtyczki jQuery po prostu rozszerzałyby $ global na wypadek, gdyby były wymagane (nie stanowi problemu, jeśli są dostępne dla innych modułów, które ich nie potrzebują).
Zakładając, że jest to możliwe, jaki byłby przykład pliku konfiguracyjnego pakietu WebPack dla tego przypadku? Wypróbowałem kilka kombinacji programów ładujących, zewnętrznych i wtyczek w moim pliku konfiguracyjnym, ale tak naprawdę nie rozumiem, co robią i których powinienem użyć. Dziękuję Ci!