2016-12-01 2 views
0

Ich füge Bower zum Projekt hinzu, das bereits Gulp benutzt. Meine Ordnerstruktur ist wie:Gulp and Bower - Erstellen der richtigen Dateistruktur

|- bower_components 
| |- dependency1 
| | |- dist 
| |  |- lib1.js 
| |  |- lib1.min.js 
| | 
| |- dependency2 
|  |- core 
|   |- sub 
|   | |- extra.js 
|   | 
|   |- lib2.js 
| 
|- target 
    |- js 

Ich habe bereits geschafft, alle 3rd-Party-libreries kopieren/js mit main-bower-files und bower-normalize Ziel. Aber es ist flach (und ich habe nicht Lauben normalisieren Option flatten auf true gesetzt!), So dass es wie folgt aussieht:

target 
|- js 
    |- lib1.js 
    |- extra.js 
    |- lib2.js 

Dateien lib1.js, extra.js und lib2.js als main Datei in bower.json Config markiert sind.

Was möchte ich erreichen möchte, ist Dateien Struktur wie zu haben:

target 
|- js 
    |- dependency1 
    | |- lib1.js 
    | 
    |- dependency2 
     |- sub 
     | |- extra.js 
     | 
     |- lib2.js 

werde ich um Hilfe wirklich dankbar sein!

+0

Es könnte hilfreich sein, Ihre Datei gulpfile.js anzuzeigen, damit Ihnen jemand bei der Syntax helfen kann. – srussking

+0

müssen Sie '{base: '.'}' An Ihren Befehl gulp.src übergeben – harishr

Antwort

1

durch gulp-flatten gehen, diese Ihnen helfen, für Dateien relativen Pfad zu entfernen oder zu ersetzen. Und auch, ich empfehle wiredep. Es automatisch behandelt alle Ihre Bower Abhängigkeiten für Sie, sowie die Reihenfolge der Abhängigkeiten. Hoffe das wird dir helfen.

Ihr Quellverzeichnis mit Bower Komponenten:

|- bower_components 
| |- dependency1 
| | |- dist 
| |  |- lib1.js 
| |  |- lib1.min.js 
| | 
| |- dependency2 
|  |- core 
|   |- sub 
|   | |- extra.js 
|   | 
|   |- lib2.js 
| 
|- target 
    |- js 

Mit schluck-abflachen -

gulp.src(['bower_components/**/*.js']) 
    .pipe(flatten({ includeParents: [1, 1]})) 
    .pipe(gulp.dest('build/')); 

wird diese Struktur erstellen (von oben Baum-Verzeichnis):

|- bower_components 
| |- dependency1 
| | |- lib1.js 
| | 
| |- dependency2 
|   |- sub 
|   | |- extra.js 
|   | 
|   |- lib2.js 

includeParents: [1, 1] Wenn es als Array mit zwei Zahlen übergeben wird, werden beide Eltern von oben und unten im resultierenden Pfad einer Datei beibehalten.

includeParents: 1 Wenn als positive Zahl übergeben, enthält es die Anzahl der Top-Level-Eltern in der Ausgabe.

includeParents: -1 Wenn die Zahl als negative Zahl übergeben wird, enthält sie die Anzahl der untergeordneten Elemente in der Ausgabe.

Verwandte Themen