Bowerを使用する理由 [閉まっている]


32

Python pip、Node npm、Ruby Gemsなどのパッケージマネージャーの利点は、アプリケーションパスにファイルを追加するだけではないため、十分に評価できます。

多分私はポイントを失っている、または私は鈍感であるが、ここに私が見ることができるネガティブがある:

  • プロジェクトをビルドする際の別のステップ
  • 別のパッケージマネージャー(yo dawg)を介してインストールする別個の依存関係
  • bower.jsonおよび/またはでプロジェクトのルートをより混乱させる.bowerrc
  • レジストリが最新であり、正確であり、利用可能であることへの依存
  • 画像などの一部のインポート/参照が機能しない
  • npmと大きな重複があり、多くの場合、使用するリソースが不明です。

陽性私が見ることができるが、これらのとおりです。

  • 依存関係を手動でダウンロードする必要はありません
  • オプションで、ユーザープロンプトなどに基づいてスキャフォールディングの一部としてパッケージをインストールする

私は気付いていないメリットを知りたいのですが、私は本当に知りたいと思う挑発的なことをしようとしているのではないと言ってください。



最終的に、あなたが言及するすべてのパッケージマネージャーは依存関係のダウンロードを伴い、それらはBowerに対してリストした同じ「ネガ」を共有します。同様に、Bowerはnpm、pip、およびrubygemsの利点の一部を共有します。たとえば、Bowerを使用すると、依存関係を最新バージョン(これは大きなバージョン)に簡単に更新できます。依存関係コードをチェックインする必要はありません。
sffc

6
この質問が「主に意見に基づいている」ために閉じられたことは残念です。OPは専門家の意見を求めています。「これは開発プロセスでどのように役立ちますか?」
デイブカンター

傾向としては、bowerを使用しないでください。Browserifyと組み合わせたnpmを使用する場合よりもツールや利点はありません。業界が語られたとバウアーのためのモジュールカウント数が減少し、NPMとBrowserifyが標準となりつつありようです:quora.com/Why-use-Bower-when-there-is-npm
ブライアン・オグデン

回答:


12

READMEから:

BowerはWebのパッケージマネージャーです。これは、フロントエンドパッケージ管理の問題に対する一般的な未解決のソリューションを提供し、APIを介してパッケージ依存モデルを公開します。システム全体の依存関係はなく、異なるアプリ間で依存関係は共有されず、依存関係ツリーはフラットです。

BowerはGitを実行し、パッケージに依存しません。パッケージ化されたコンポーネントは、あらゆる種類のアセットで構成でき、あらゆる種類のトランスポート(AMD、CommonJSなど)を使用できます。

Bowerには、他の依存関係マネージャーの多くの利点があります。他にもあるはずですが、私がこれまで気づいた利点には次のものがあります。

  • 宣言型依存関係管理と呼ばれるものを単純化します。つまり、bower.jsonで依存関係を宣言して、他のものがそれらを簡単に判断できるようにします
  • バージョン管理に依存関係をコミットする必要はありません
  • セマンティックバージョニングは、依存関係の許容可能なバージョンの範囲を定義するために使用され、定義された範囲内の新しいバージョンに簡単に更新できます。
  • さまざまなビルド(デバッグ、縮小など)を見つける必要はありません
  • devとprodの依存関係の異なるビルドを簡単に使用できます
  • bower.jsonファイルを配布すれば、誰でも簡単な「bowerインストール」でスピードアップできます。

2
挑発的な方法で質問を書いてくれたらと思います。本当に、私が見逃した決定的な利点は、ビルド/スキャフォールディングプロセスの一部としてAPIを使用することだと思います。どこかで野生で使用したいと思います。
ウィル14年

Yeoman用のAngularジェネレーターを使用してAngular webappをブートストラップしたときにBowerに気付きました。それを試してみると、それがどのように使用できるかのアイデアが得られるかもしれません。
マイクパートリッジ14年

その前にYeomanとGrunt Initを使用しましたが、おそらく私のニーズは常にフロントエンドコンポーネントが逸脱しないことを意味しているだけです-それらは常にAngular、jQuery、Mochaなどですが、ユーザーが望むならそれを見ることができますブートストラッププロンプト選択リストからテストフレームワークを交換すると便利です。理にかなっている主な利点は、ブートストラップオプションと修飾子です。それは公平だと思いますか?
ウィル14年

2
また、移植性。bower.jsonファイルを配布すれば、誰でも簡単な「bowerインストール」でスピードアップできます。
デイブカンター

1
s/bower/npm/iこの答えはまだ100%真実です。
Qix
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.