Ich arbeite an einer Webanwendung, die derzeit bootstrap für das Front-End verwendet, und webpack, um seine Assets zu bündeln. Ich wurde von this Artikel inspiriert, um Web-Komponenten zu erstellen, die in winzige kleine eigenständige Einheiten gebrochen werden können, und this Artikel zu versuchen, meine Verwendung von Bootstrap semantischer zu machen.Erweitern Bootstrap mit Webpack
Das Problem tritt auf, wenn ich versuche, die beiden Praktiken zu kombinieren, indem Sie versuchen, mehrere Webkomponenten zu erstellen, von denen jede die Funktionalität des Bootstrap erweitert. Beim Versuch, den Bootstrap in diese unabhängigen Komponenten zu importieren, werden die Stylesheets des Bootstrap im finalen css-Bundle, das vom Webpack generiert wird, mehrfach dupliziert.
Ich habe speziell bootstrap-sass verwendet, so dass ich auf die einzelnen Komponenten und Variablen des Bootstrap zugreifen kann. Auf diese Weise muss ich nur die Funktionalität importieren, die ich für jede Komponente benötige. Das löst aber immer noch nicht das Problem, den Code zu duplizieren, sondern reduziert ihn nur.
Idealerweise kann webpack so konfiguriert werden, dass alle diese Webkomponenten die gleiche Kopie des Bootstraps erweitern, aber ich kann nicht herausfinden, wie es geht.
Hier ist ein gist Ich habe erstellt, die das Problem demonstriert. Nach dem Ausführen des Codes generiert es app.css
, die bootstrap final css doppelt dupliziert enthält.
Wie kann ich mein Projekt so strukturieren, dass ich Bootstrap semantisch erweitern kann, aber meine Stylesheets immer noch in unabhängige Webkomponenten aufteilen?