Il mio team sta attualmente lavorando su una grande applicazione scritta in ReactJS utilizzando l'architettura Flux di Facebook. È ancora nella sua infanzia in questo momento, ma sta per diventare grande molto presto. Avrà più di 50 piccole visualizzazioni di componenti, un sacco di azioni, negozi e creatori di azioni.Struttura della directory dell'applicazione ReactJS Flux
Attualmente, la nostra struttura di directory assomiglia -
App
|___ module_1
| |___ components
| | |___ component1.react.js
| | |___ component2.react.js
| |___ module1ActionCreators.js
| |___ module1Constants.js
| |___ module1store.js
|
|___ module_2
|___ ... (same structure as above)
Uno dei problemi con questo approccio è che le cartelle module_x diventeranno sempre più grandi in numero come questo app cresce.
Qualcuno ha qualcosa da condividere su come hanno strutturato la loro app? Nella nostra esperienza, le app di esempio di Facebook (todo e chat) hanno un'architettura adatta per le piccole app, ma una volta che tali negozi, componenti e azioni crescono di numero, diventa più difficile da gestire.
Grazie in anticipo.
Se un componente è sufficientemente generale e riutilizzabile, quindi suddividerlo nel proprio modulo npm. Se sei generoso, apri la sorgente e inseriscilo su http://react-components.com/ –
Penso che questo sia il modo migliore per le app di grandi dimensioni. Ma i tuoi moduli potrebbero essere troppo piccoli. La mia app è attualmente ordinata per tipo, come mostrato nella risposta di @ fisherwebdev e in ogni singolo esempio di flusso, ma ritengo che questo non sia davvero efficace. Ho già 25 negozi nella cartella del negozio. Sto pianificando di "ordinare per funzionalità" anziché "ordine per tipo", ognuna di queste funzionalità sarà in realtà una piccola "app", che verrà inserita nell'app "principale". Ognuno di questi dovrebbe dipendere solo dal modulo 'core'. Questa è solo un'idea. Non ancora progettato. – RoryKoehein
@RoryKoehein hai progettato qualcosa ancora da provare? Penso che questo sia l'approccio giusto però.Questo è il modo in cui l'abbiamo fatto, tranne che abbiamo anche ordinato di nuovo per tipo all'interno di una funzione, causando un enorme carico di cartelle extra con solo pochi file. – froginvasion