Ich habe gerade ein offizielles Symfony-Kochbuch gesehen , das genau diese Frage beantwortet und zitiert: "Derzeit sollten Sie wahrscheinlich die von Bower heruntergeladenen Assets .gitignore
Schauen Sie sich unbedingt den Link im Angebot an, in dem einige Vor- und Nachteile besprochen werden. Der wichtigste Vorteil ist, dass durch das Einchecken sichergestellt wird, dass Ihre Abhängigkeiten immer verfügbar sind, solange Ihr Repository verfügbar ist. Egal was mit Bower, GitHub oder was auch immer passiert, es würde sonst benötigt.
Vielen Dank für diesen interessanten Artikel. Im Moment haben wir also noch keine "Sperrdatei", die dem Einfrieren der Versionen entspricht.
Pierre de LESPINAY
1
@PierredeLESPINAY Nur für die oberste Ebene. Was fehlt, entspricht der Funktion zum Schrumpfen von npm.
Passy
3
Sie sagen dies auch in ihrem Blog-Beitrag "Letztendlich liegt es an Ihnen, ob Sie Ihr gesamtes / bower_components-Verzeichnis einchecken oder nicht ...".
Krishnaraj
3
Der Grund für das Einchecken ist, dass die Bibliothek eines Tages möglicherweise aus dem Internet verschwindet oder dass es zu Ausfallzeiten kommt, die wiederum zu Buildfehlern führen können. Als Maven / Gradle-Benutzer denke ich nie daran, Abhängigkeiten einzuchecken.
Krishnaraj
7
Der Rat auf der offiziellen Bower-Seite zum Einchecken installierter Pakete in die Quellcodeverwaltung wurde 2014 entfernt: github.com/bower/bower.github.io/commit/…
Benutzer
52
In der .gitignore- Datei in einem neu generierten Yeoman AngularJS-Projekt werden bower_components (und node_modules) aufgelistet, die ignoriert werden sollen (wenn Sie Yeoman nicht kennen, handelt es sich um ein sehr seriöses Webgerüst-Tool für moderne Webapps, das ist also gut genug für mich!):
Es gibt eine Zeit und einen Ort für beide Ansätze. Für Yeoman ist es angemessen, sich auf bower.json zu verlassen, da es ein Werkzeug in einer Toolchain ist und mit dem Bower-Ökosystem leben und atmen muss. Für eine bereitstellbare Webanwendung empfiehlt es sich im Allgemeinen, Abhängigkeiten festzuschreiben und mehr Kontrolle zu behalten.
Wenn Sie Grunt und Node mit Bower verwenden, ist es sinnvoll, bower_components in Ihren .gitignore einzufügen, da beim Ausführen von Grunt Serve oder Grunt Build die Abhängigkeiten für Sie berücksichtigt werden. Ich bin sicher, dass sie in Yeoman hinzugefügt werden der .gitignore
Der Yeoman- Generator hat die .gitignore- Datei mit bower_components vorab gefüllt, aber auch mit anderen Verzeichnissen, von denen ich denke, dass sie für eine endgültige App (wie www) benötigt werden, also habe ich einige Nachforschungen angestellt.
Ich habe festgestellt, dass www / index.html eine minimierte Version der app / index.html ist. Das App-Verzeichnis und sein Inhalt (einschließlich bower_components) enthalten die Quelldateien, die für das Ausgabeverzeichnis (www) benötigt werden. Sie schreiben Quellverzeichnisse in die Quellcodeverwaltung (dh git), aber nicht in generierte Dateien (dh www). Paketmanager wie bower und npm sollen während der Erstellungs- / Generierungsphase verwendet werden, und ihre Artefakte sollen nicht in die Quellcodeverwaltung eingecheckt werden.
Letztendlich ist die Quelle, die Sie in git einchecken, die Mindestkonfiguration, die erforderlich ist, um den Rest des Projekts für Entwicklungs- oder Bereitstellungszwecke zu erstellen.
Es ist gut, /bower_componentsdir zu ignorieren und nur einzuchecken bower.jsonund zu bower-locker.bower.jsonarchivieren, wenn Sie eine Sperrdatei mit dem von Shawn Lonas geschriebenen Bower-Locker erstellen .
.gitignore
Antworten:
Auf der offiziellen Bower-Seite heißt es:
Schauen Sie sich unbedingt den Link im Angebot an, in dem einige Vor- und Nachteile besprochen werden. Der wichtigste Vorteil ist, dass durch das Einchecken sichergestellt wird, dass Ihre Abhängigkeiten immer verfügbar sind, solange Ihr Repository verfügbar ist. Egal was mit Bower, GitHub oder was auch immer passiert, es würde sonst benötigt.
quelle
In der .gitignore- Datei in einem neu generierten Yeoman AngularJS-Projekt werden bower_components (und node_modules) aufgelistet, die ignoriert werden sollen (wenn Sie Yeoman nicht kennen, handelt es sich um ein sehr seriöses Webgerüst-Tool für moderne Webapps, das ist also gut genug für mich!):
.gitignore
quelle
Es gibt eine Zeit und einen Ort für beide Ansätze. Für Yeoman ist es angemessen, sich auf bower.json zu verlassen, da es ein Werkzeug in einer Toolchain ist und mit dem Bower-Ökosystem leben und atmen muss. Für eine bereitstellbare Webanwendung empfiehlt es sich im Allgemeinen, Abhängigkeiten festzuschreiben und mehr Kontrolle zu behalten.
Hier ist ein guter Artikel, den ich mag und der dies diskutiert.
quelle
Wenn Sie Grunt und Node mit Bower verwenden, ist es sinnvoll, bower_components in Ihren .gitignore einzufügen, da beim Ausführen von Grunt Serve oder Grunt Build die Abhängigkeiten für Sie berücksichtigt werden. Ich bin sicher, dass sie in Yeoman hinzugefügt werden der .gitignore
quelle
Der Yeoman- Generator hat die .gitignore- Datei mit bower_components vorab gefüllt, aber auch mit anderen Verzeichnissen, von denen ich denke, dass sie für eine endgültige App (wie www) benötigt werden, also habe ich einige Nachforschungen angestellt.
Ich habe festgestellt, dass www / index.html eine minimierte Version der app / index.html ist. Das App-Verzeichnis und sein Inhalt (einschließlich bower_components) enthalten die Quelldateien, die für das Ausgabeverzeichnis (www) benötigt werden. Sie schreiben Quellverzeichnisse in die Quellcodeverwaltung (dh git), aber nicht in generierte Dateien (dh www). Paketmanager wie bower und npm sollen während der Erstellungs- / Generierungsphase verwendet werden, und ihre Artefakte sollen nicht in die Quellcodeverwaltung eingecheckt werden.
Letztendlich ist die Quelle, die Sie in git einchecken, die Mindestkonfiguration, die erforderlich ist, um den Rest des Projekts für Entwicklungs- oder Bereitstellungszwecke zu erstellen.
quelle
Es ist gut,
/bower_components
dir zu ignorieren und nur einzucheckenbower.json
und zubower-locker.bower.json
archivieren, wenn Sie eine Sperrdatei mit dem von Shawn Lonas geschriebenen Bower-Locker erstellen .Vor der Erstellung des Bower -Locker gab es einen Nachteil, der durch ein Problem verursacht wurde , bei dem die Bower keine Schrumpffolienfunktion hatte, das jedoch durch die obige Bibliothek gemindert werden kann.
Führen Sie die folgenden Befehle aus, um dies zu erreichen:
oder
Generieren Sie dann eine Sperrdatei basierend auf der vorhandenen
bower.json
Datei, indem Sie Folgendes ausführen:Die Originaldatei
bower.json
wird in umbenanntbower-locker.bower.json
quelle