2015-06-17 16 views
10

Sto sviluppando un progetto ember-cli e sto lavorando a un sistema che mi consente di risolvere i modelli che non sono stati caricati e che potrebbero vivere al di fuori della struttura del progetto.Spostare l'intera cartella utilizzando Broccoli JS in Ember Progetto CLI

Mi piacerebbe avere una cartella nella mia directory dist/assets denominata templates e all'interno di quella cartella sarebbero tutti i modelli pre compilati da app/templates/external. Questo è il mio attuale Brocfile.js tentativo con broccoli in umido

var EmberApp = require('ember-cli/lib/broccoli/ember-app'); 
var stew = require("broccoli-stew"); 

var app = new EmberApp({ 
    vendorFiles: { 
    "jquery.js": null 
    }, 
    sassOptions: { 
     includePaths: [ 
     'bower_components/bourbon/app/assets/stylesheets/', 
     'bower_components/neat/app/assets/stylesheets/', 
     'bower_components/bitters/app/assets/stylesheets/' 
     ] 
    } 
}); 

var additionalTrees = []; 

var templateFiles = stew.find(appTree, "assets/app/templates/external"); 
templateFiles = stew.mv(templateFiles, "assets/app/templates/external", "assets/templates"); 
additionalTrees.push(templateFiles); 

module.exports = app.toTree(additionalTrees); 
+0

Questo potrebbe darti un'idea per copiare i file. http://stackoverflow.com/a/30464235/548568 – blessenm

risposta

1

C'è pacchetto NPM chiamato broccoli-file-mover, facile da usare, e si possono trovare here

L'utilizzo è molto semplice, facile come:

MoveFile (inputTree, opzioni)

può essere utilizzato per spostare i file (multiplo o singolo), o intere cartelle

Esempio:

Lo spostamento di un singolo file da app/principale per app:

var moveFile = require('broccoli-file-mover'); 

var tree = moveFile('app', { 
    srcFile: 'app/main.js', 
    destFile: '/app.js' 
}); 

Spostamento dell'app/principale su app e test/main test:

var moveFile = require('broccoli-file-mover'); 

var tree = moveFile('app', { 
    files: { 
    'app/main.js': 'app.js', 
    'test/main.js': 'test.js' 
    } 
}); 

Inoltre, prima blessnm commento broccoli imbuto è una possibile soluzione, come è possibile copiare la directory dove si vuole (pensato la questione degli Stati in movimento, ma il pensiero di copia potrebbe essere una soluzione accettabile), here è il repository del plugin.