Wäre es bower.json
empfehlenswert , nur die Datei zu behalten und das gesamte bower_components
Verzeichnis zu speichern ?
Wäre es bower.json
empfehlenswert , nur die Datei zu behalten und das gesamte bower_components
Verzeichnis zu speichern ?
Antworten:
Auf der offiziellen Bower-Seite heißt es:
NB Wenn Sie kein Paket erstellen, das von anderen verwendet werden soll (z. B. wenn Sie eine Web-App erstellen), sollten Sie installierte Pakete immer in der Quellcodeverwaltung einchecken .
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.
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
node_modules
dist
.tmp
.sass-cache
bower_components
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.
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_components
dir zu ignorieren und nur einzuchecken bower.json
und zu bower-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:
npm install bower-locker -g
oder
yarn global add bower-locker
Generieren Sie dann eine Sperrdatei basierend auf der vorhandenen bower.json
Datei, indem Sie Folgendes ausführen:
bower-locker lock
Die Originaldatei bower.json
wird in umbenanntbower-locker.bower.json
.gitignore