webpack-encore: Platzhalter bei Dateien und Ordnerstrukturen

TL;DR

Hintergrund

Das Webpack Encore am Ende reines Webpack laufen lässt, hatte ich bereits hier angesprochen.

Aber in manchen Situationen haben wir eine webpack.config.js ein paar Abhängigkeiten und wir müssen Dateien von A nach B kopieren.

Das könnte mit Webpack Encore so aussehen:

...

Encore.copyFiles({
    from: './resources/images',
    to: './images/[name].[ext]',
});

...

In einem anderen Moment, möchten wir den Fonts-Ordner umbenennen und wenn wir schon dabei sind, entfernen wir noch die Hash-Werte an Bildern.

Das ginge dann in die Richtung:

...

Encore.configureFilenames({
    images: './images/[folder]/[name].[ext]',
    fonts: './fonts/[folder]/[name].[ext]',
});

...

Der Punkt ist, wir arbeiten manchmal mit Dateien und/order Ordnerstrukturen und darin gibt es gewisse Platzhalter.

Diese Platzhalter gehen auf loader-utils::interpolateName zurück.

Letztendlich eine Webpack Klasse die in jeden Loader injected wird.

Liste an gültigen Platzhaltern

Zur Zeit (webpack v5.11) sind folgende Platzhalter gültig:

PlatzhalterTypeDefaultBeschreibung
[ext]Stringfile.extnameDie Dateierweiterung der
Zieldatei/Ressource.
[name]Stringfile.basenameDer Basisname der
Datei/Ressource.
[path]Stringfile.directoryDer Pfad der Ressource
relativ zum
webpack/config-Kontext.
[folder]Stringfile.folderDer Ordner, in dem sich
die Ressource befindet.
[query]Stringfile.queryDie Abfrage der
Ressource, z. B.
?foo=bar.
[emoji]StringundefinedEine zufällige Emoji-
Darstellung des Inhalts.
[emoji:<length>]StringundefinedDasselbe wie oben, aber
mit einer anpassbaren
Anzahl von Emojis
[hash]Stringmd4Gibt die Hash-Methode
an, die für das Hashing
des Dateiinhalts
verwendet werden soll.
[contenthash]Stringmd4Legt die Hash-Methode
fest, die zum Hashing des
Dateiinhalts verwendet
werden soll.
digestTypeStringhexDer Digest, den die Hash-
Funktion verwenden soll.
Gültige Werte sind:
base26, base32, base36,
base49, base52, base58,
base62, base64 und hex.
hashTypeStringmd4Der Typ des Hashwert,
den die Hashfunktion
verwenden soll. Gültige
Werte sind: md4, md5,
sha1, sha256 und sha512.
lengthNumberundefinedBenutzer können auch
eine Länge für den
berechneten Hashwert
angeben.
[N]StringundefinedDie n-te
Übereinstimmung, die
sich aus dem Abgleich
des aktuellen
Dateinamens mit der
regExp ergibt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert