bower.json
ファイルのみを保持し、bower_components
ディレクトリ全体をgitignoreすることをお勧めしますか?
公式のBowerページ 記載:
NB他のユーザーが使用することを意図したパッケージを作成していない場合(たとえば、Webアプリを構築している場合)、常に インストール済みパッケージをソース管理にチェックイン 。
引用内のリンクを必ず確認してください。賛否両論について説明しています。それが言及する主な長所は、リポジトリを利用できる限り、それらをチェックインすることで依存関係が常に利用可能であることを保証することです。 Bower、GitHub、またはそれ以外で必要なものがどうなったとしても。
新しく生成された Yeoman AngularJSプロジェクトの。gitignoreファイルには、bower_components(およびnode_modules)が無視されるようにリストされています(そうしない場合) 「Yeomanが最新のWebアプリ用の非常に評判の良いWeb足場ツールであることは知らないので、それで十分です!):
。gitignore
node_modules
dist
.tmp
.sass-cache
bower_components
両方のアプローチに時間と場所があります。 Yeomanの場合、bower.jsonに依存するのが適切です。これはツールチェーンのツールであり、bower.jsonで生活と呼吸を維持する必要があるためです。デプロイ可能なWebアプリの場合、一般的に依存関係をコミットしてより多くの制御を維持することをお勧めします。
これが 良い記事 です。
GruntとNodeをBowerで使用している場合、。= ignoreにbower_componentsを入れるのが理にかなっています。なぜなら、grunt serveまたはgrunt buildそれはあなたのための依存関係の世話をします、それがYeomanでそれを追加する理由だと確信しています.gitignore
Yeoman ジェネレーターは。gitignoreファイルにbower_componentsを事前に入力しましたが、他のディレクトリも事前に入力されていると思います最終的なアプリ(wwwなど)に必要になるため、調査を行いました。
Www/index.htmlはapp/index.htmlの縮小版であることを発見しました。 appディレクトリとそのコンテンツ(bower_componentsを含む)には、出力ディレクトリ(www)に必要なソースファイルが含まれています。ソースディレクトリをソース管理(つまりgit)にコミットしますが、生成されたファイル(つまりwww)にはコミットしません。 bowerやnpmなどのパッケージマネージャーは、ビルド/生成段階で使用することを意図しており、そのアーティファクトはソース管理にチェックインすることを意図していません。
最終的に、gitにチェックインするソースは、開発または展開の目的でプロジェクトの残りをビルドするために必要な最低限の構成です。
bower-locker by Shawn Lonas を使用してロックファイルを作成する場合は、/bower_components
dirを無視し、bower.json
およびbower-locker.bower.json
ファイルのみをチェックインすることをお勧めします。
Bower-lockerが作成される前は、bower shrinkwrap機能を持たない の問題によって引き起こされるデメリットがありましたが、上記のライブラリによって軽減できます。
それを実現するには、次のコマンドを実行します。
npm install bower-locker -g
または
yarn global add bower-locker
次に、以下を実行して、既存のbower.json
ファイルに基づいてロックファイルを生成します。
bower-locker lock
元のbower.json
ファイルの名前はbower-locker.bower.json
に変更されます