2015-07-16 13 views
7

Sto importando con successo un plugin jQuery tramite Bower da utilizzare in un componente in un addon di Ember-cli. Tuttavia, questo funziona solo perché ho definito una dipendenza Bower su questo plugin in sia l'addon che l'applicazione che consuma.Come devo importare le dipendenze di Bower da un addon di Ember-cli nell'applicazione che consuma?

Sembra che stia sbagliando. Perché l'applicazione che consuma deve dichiarare una dipendenza da una risorsa che dovrebbe essere fornita con l'addon?

Il nocciolo della questione sembra essere il contesto app durante la costruzione. Posso omettere la dipendenza Bower nell'applicazione consumare se uso il import istruzione che segue nel file del addon index.js:

app.import('node_modules/my-ember-cli-addon/bower_components/jquery.stickyHooters/dist/jquery.stickyHooters.min.js'); 

... ma questo si rompe quando costruire l'addon come applicazione stand-alone. In questo caso, questo percorso è obbligatorio:

app.import('bower_components/jquery.stickyHooters/dist/jquery.stickyHooters.min.js'); 

Come funziona?

  1. Dichiarando la dipendenza Bower in due posti sembra contro-intuitivo
  2. Io non so come rileva il contesto app nel index.js del addon
+0

Possibilmente correlato, ma senza risposta: http://stackoverflow.com/questions/25654482/importing-dependencies-in-an-ember-cli-addon-for-a-component –

risposta

7

Checkout ember-cli homepage su schemi predefiniti. Descrive come è possibile importare un pacchetto di componenti bower al momento dell'installazione del proprio addon.

+2

OK, quindi i progetti come soluzione per questo il problema sembra un po 'non intuitivo, ma è chiaro dalla documentazione che questo è il modo previsto per gestirlo. Tuttavia, la documentazione sembra incompleta poiché l'applicazione che consuma non installa ancora la dipendenza bower dall'addon. Aggiornamento –

+0

: Ciò che questo fa _adire è aggiungere la dipendenza all'applicazione padre. Il che significa che qualsiasi build successiva richiederà 'npm install', aggiungendo così la dipendenza. –