Zurück zur Übersicht
Webpack/Encore - Dynamische Entries erstellen
#Tutorials#Webpack
Für ein Symfony Projekt, welches mit Webpack und dem Aufsatz Encore arbeitet wurde es mir zu mühsam für jede neue Datei einen Eintrag in die webpack.config.js zu machen. Deswegen habe ich hier einen Ansatz um mit der glob-Funktion Dateien zu finden und diese dann direkt hinzuzufügen.
const glob = require('glob');
// ...
// dynamic entries
glob.sync('./assets/**/js/modules/**/*.js').reduce((acc, item) => {
/**
* Der "[name]" Platzhalter bei "output" wird ersetzt
* damit wir einen guten namen zum einbinden bekommen.
* Das kann man anpassen, wie man es möchte.
*/
var name = item.replace(/\.\/assets\/|\/js\/modules|\.js/gi, '');
acc[name] = item;
// add entry for each js file
Encore.addEntry(name, item);
return acc;
}, {});
Falls man das Ganze nur mit Webpack und ohne Encore benutzen möchte:
entry: glob.sync('./assets/**/js/modules/**/*.js').reduce((acc, path) => {
var name = item.replace(/\.\/assets\/|\/js\/modules|\.js/gi, '');
acc[name] = item;
return acc
}, {}),
Kommentare
Es gibt noch keine Kommentare. Sei der Erste!
Hinterlasse einen Kommentar