2013-07-24 1 views
7

Supponiamo che io disponga di un'app Web, un'app di binari complessa e complessa, come un'applicazione di contabilità. Vedo un utilizzo per diverse app a singola pagina invece delle tipiche binari rotonde delle pagine di attivazione. Per esempio, io vedo un utente meglio servito con un intuitivo singola pagina/app dinamica per:Ember JS e app multiple a singola pagina

  • Creazione di riconciliazione bancaria
  • Creazione di una fattura
  • La compilazione di un rapporto Tempo
  • ecc ..

Queste sono tutte distinte le app una pagina ...

tutte le applicazioni tempora che vedo sono singola pagina e singola p COPO.

Voglio avere molte app a singola pagina, costruite con la brace. Come apparirebbe rispetto a:

Percorsi: avrei una combinazione di percorsi del server e percorsi client. Come apparirebbe in Ember? Serve diverse applicazioni Ember, ognuna con il proprio router e percorsi di applicazione?

Modelli: tutte le mie "applet" verranno compilate e inviate al client al caricamento? O dovrei sfruttare require.js e caricare ogni singola app di pagina a seconda che siano navigate? ...

Qualcuno può aiutare con queste due domande? Grazie in anticipo!

+0

CRONACA - Finii per ospitare diversi "moduli" client sul proprio sottodominio e quindi utilizzato cremagliera -Cors sul server per servire diversi sottodomini. Ho anche creato un repository condiviso per alcune funzionalità client comuni. È piuttosto piccolo. –

+0

puoi fornire ulteriori informazioni su come si fa? Come hai risolto i problemi di applicazione comuni come menu, autorizzazione e autenticazione comuni. Li hai uniti in un'unica pagina o tutte le tue app erano separate? – ykaragol

risposta

2

Percorsi: avrei una combinazione di percorsi del server e percorsi client. Come apparirebbe in Ember? Serve diverse applicazioni Ember, ognuna con il proprio router e percorsi di applicazione?

Dipende da quanto si sovrappone in termini di funzionalità. Sicuramente potresti servire diverse applicazioni Ember con il loro router e percorsi. In questo caso probabilmente scriverei anche una libreria condivisa con classi base comuni e mixin.

Un'alternativa sarebbe avere un'unica applicazione ember che si presenta e si comporta in modo molto diverso a seconda del percorso. È da lì che comincerei finché non avrai una buona sensazione per la brace e vedrai una ragione convincente per dividere le cose.

Modelli: tutte le mie "applet" verranno compilate e inviate al client al caricamento? O dovrei sfruttare require.js e caricare ogni singola app di pagina a seconda che siano navigate? ...

Il percorso di resistenza minima nei binari è quello di utilizzare i pignoni per compilare e impacchettare i modelli: una volta compilati, sono solo javascript. Tipicamente un'app per rails raggrupperà tutto il javascript in application.js e lo includerà al caricamento. Un'alternativa sarebbe quella di dividere il codice e i modelli specifici dell'applicazione in app1.js, app2.js, ecc. E caricarli ogni volta che l'app viene raggiunta.

+0

Ho già lavorato con Ember un po '- e rispetto alla tua prima risposta - iniziando con una singola app - Come apparirebbe nel file del router? Due diversi URL "root" con un numero di elementi al di sotto di esso? –

+0

sì, questa è l'idea. –

1

Io suggerirei di usare una struttura di cialde e allora si può avere percorsi come

/app1/ 
    /route1 
    /route2 
/app2/ 
    /route1 
    /route2 
etc... 

Se si genera con la struttura baccelli voi cartelle che per esempio ember generate route app1\route1

si finirà con una buona struttura di cartelle che è possibile dividere più tardi, qualcosa di simile:

/app 
     /pods/ 
      /app1 
       /route1 
        route.js 
        controller.js 
        template.hbs 
       /route2 
        route.js 
        controller.js 
        template.hbs 
      /app2 
       /route1 
        route.js 
        controller.js 
        template.hbs 
       /route2 
        route.js 
        controller.js 
        template.hbs 
+0

Ecco il documento della struttura Pod: https://ember-cli.com/user-guide/#pod-structure – hailong