Ho un addon che deve copiare un set di file JS dalla loro directory bower alla radice dell'app Ember di /dist
(questo è per le regole di scoping associate agli addetti ai servizi). Ho pensato che forse avrei potuto usare il gancio treeForApp
ma mentre non ricevo errori, inoltre, non ottengo il risultato desiderato.Addon Ember per aggiungere file alla directory radice
Il index.js
è:
const Funnel = require('broccoli-funnel');
module.exports = {
name: 'ember-upup',
treeForApp: function(tree) {
tree = new Funnel(tree, { include:
[
'bower_components/upup/dist/upup.min.js',
'bower_components/upup/dist/upup.sw.min.js'
]});
return this._super.treeForApp.call(this, tree);
},
Nota: ho pensato che potrei essere in grado di risolvere questo problema semplicemente copiando i file JavaScript come parte di
index.js
Postbuild gancio ma mentre questo non metti i file JS nella radice della cartella dist che non è servita da Ember-cliember serve
apparentemente se non viene spinto attraverso una delle sue pipeline di compilazione.Stefan Penner ha ora indicato che la directory
dist
è destinata agli sviluppatori, ma il servizio viene effettivamente eseguito all'interno della struttura della directorytmp
... questo spiega perché il mio "hack" non ha funzionato.
hai provato a importare con il progetto predefinito 'this.addBowerPackageToProject ('upup.js')'? – Bek
@Bek 'addBowerPackageToProject' è il primo passo per ottenere i file nella directory bower_components. Quello che devo fare da lì è spostare due file JS dalla loro posizione iniziale alla radice della build dell'applicazione (ovvero, la cartella '/ dist'). Questo è importante perché se non risiedono nella radice della distribuzione, il lavoratore del servizio non avrà la possibilità di interagire con tutte le risorse delle pagine. – ken
se hai già 'addBowerPackageToProject', allora devi importarli nel principale' index.js' tramite 'app.import()' in 'include' hook, hai provato? se no, lo scriverò come risposta? – Bek