Wir haben ein Mono-Laravel-Repo und sind dabei, auf einen saubereren, einfacher zu wartenden Dev-Neustart zu migrieren.
Wir sind kürzlich dazu übergegangen, unsere vorhandenen PHP-basierten Ansichten in mehrere reaktionsbasierte "Funktionen" zu migrieren, die sich in einem /react
Verzeichnis befinden und in /react/featureName
Unterverzeichnissen organisiert sind . Dies bedeutet, dass die Controller von Laravel hauptsächlich nur Daten und Authentifizierung verarbeiten.
Jede Funktion wird von einem oder mehreren Entwicklern verwaltet und hat ihre eigenen Abhängigkeiten, Tests und Funktionen.
Derzeit stellen wir Builds im öffentlichen Stamm unseres Projekts bereit, die nach Funktionen organisiert sind:
js/FeatureName.hashed.js
css/FeatureName.hased.css
Das funktioniert großartig, außer dass wir viele Pakete miteinander teilen features
. Reagieren Sie selbst, reagieren Sie Router usw.
Wir beabsichtigen, Laravel mix.js
so oft wie möglich zu verwenden, aber auch direktes Hacken webpack.config
ist eine Option.
Ich habe die mix.extract()
Option untersucht, mit der wir die Builds von vendor.js getrennt von anderer Anwendungslogik definieren können, aber sie hört dort auf.
Also hier sind meine Frage (n)
- Welche Ansätze gibt es, um mehrere
package.json
Dateien zu verwalten , die in jedem Feature-Verzeichnis gespeichert sind? - Wie identifizieren wir gängige Pakete und sperren sie in eine Root-
/package.json
Datei? (Unabhängig davon verwenden bereits alle Entwickleryarn
) - Wie kann dies für alle reaktionsbasierten Entwickler so reibungslos wie möglich erreicht werden, damit sie einfach mit dem fortfahren können, was sie bereits tun, und DevOps die schwierigen Aufgaben erledigt?
Ich verstehe, dass möglicherweise weitere Informationen erforderlich sind. Bitte geben Sie in den Kommentaren an, was Sie benötigen, und ich würde die Frage gerne aktualisieren.