EN · DE · RU · FR · ES

#2767: webpack.config.js

projectforge-webapp/webpack.config.js Webpack-Konfiguration (Legacy) · projectforge-webapp/webpack.config.js 17 Zeilen · 14 Code · 3 Kommentare · 0 leer
Eine minimale Webpack-Konfigurationsdatei, die nur SCSS/SASS-Kompilierungsregeln bereitstellt – eine einzelne Modulregel, die sass-loadercss-loaderstyle-loader für .scss- und .sass-Dateien verknüpft. Diese Datei wurde erstellt, als das Projekt von node-sass (einer nativen Node.js-Bindung an den C/C++ LibSass-Compiler, der Kompatibilitätsprobleme in Docker-Linux-Containern hatte) auf sass-loader mit Dart Sass (einer reinen JavaScript-Implementierung) migrierte. Die Datei verbleibt im Repository als Überbleibsel des Pre-Vite-Build-Systems.

Architektur

Legacy-Status

Mit der Vite-Migration (Commit bf988bc6d) ist diese Webpack-Konfiguration nicht mehr das primäre Build-Tool. Vite übernimmt alle Transformationen über sein eigenes Plugin-System. Die Datei bleibt aus zwei Gründen bestehen: Der Gradle-basierte Build könnte Webpack für bestimmte Asset-Verarbeitungsaufgaben aufrufen, die noch nicht migriert wurden, und als Referenz für die SCSS-Loader-Pipeline, die Vites Konfiguration repliziert.

SCSS-Pipeline

Die Loader-Kette verarbeitet von rechts nach links (von unten nach oben im use-Array): sass-loader kompiliert SCSS zu CSS, css-loader löst @import- und url()-Referenzen in JavaScript-Module auf, style-loader fügt das CSS zur Laufzeit als <style>-Tags in das DOM ein. Dies ist die Standard-Webpack-CSS-Pipeline, die jetzt durch Vites native CSS-Verarbeitung ersetzt wurde.

Git-Verlauf

CommitWas sich geändert hat
b482cd4e1Die Datei mit der SCSS-Loader-Konfiguration erstellt. Die Commit-Nachricht nennt explizit die Motivation: Wechsel von node-sass zu sass-loader mit Dart Sass, da node-sass (das native C++-Kompilierung erfordert) unter Docker-Linux-Images nicht korrekt funktionierte. Dies war eher eine Stabilitätskorrektur für die Bereitstellung als eine Funktionserweiterung.