2015-01-17 12 views
5

Ho creato il mio primo addon Ember CLI seguendo le istruzioni dalla homepage della CLI Ember. L'addon funziona bene e ha già un paio di stelle su Github: https://github.com/lolmaus/ember-cli-stained-by-childrenCome dividere il mio addon di Ember CLI in una libreria Ember vaniglia e un wrapper addon di Ember CLI?

Il problema è che è impossibile utilizzare l'addon senza Ember CLI, ad esempio, su http://emberjs.jsbin.com/.

Ho visto altri addon che non hanno questa limitazione: la libreria è implementata come un pacchetto Bower che può essere usato con o senza la CLI di Ember e viene fornito anche un wrapper addon di Ember CLI.

Un esempio di tale componente aggiuntivo è Simple Auth.

Ha tre repository:

Ma è difficile prendere esempio da quelli perché Simple Auth è un'enorme libreria.

Le domande sono:

  1. Come faccio a organizzare il codice sorgente principale in modo che io possa costruire diversi tipi di libreria da esso (globale e Ember CLI-friendly AMD)?
  2. Come si organizza il codice wrapper Ember CLI? Cosa dovrei fare per sfruttare la libreria?
  3. Come automatizzare le versioni?
+1

questo post sul blog parla in basso di come creare un pacchetto cli ember che può essere utilizzato anche senza cli embra anche http://pixelhandler.com/posts/develop-embercomponents-for-sharing-as-ember-cli -addons-a-pratico-esempio – flylib

risposta

1

Ci sono diversi approcci al problema, quindi il modo in cui il codice dovrebbe essere organizzato dipende da voi. Al momento, non esiste una semplice pipeline di generazione per generare una versione basata su globali, la versione AMD e l'addon in un unico passaggio. Se vuoi davvero ottenere tutto quanto sopra, direi di iniziare scrivendo una (semplice) versione basata su globals, quindi crea uno script di build che lo avvolge in un wrapper AMD. Quindi avvolgere la versione di AMD in un addon.