Bower と npm の違いは何ですか? 質問する

Bower と npm の違いは何ですか? 質問する

bowerの根本的な違いは何ですか? 単純にわかりやすくシンプルなものが欲しいのです。同僚の中には、プロジェクトでと を同じ意味でnpm使用している人もいます。bowernpm

ベストアンサー1

すべてのパッケージ マネージャーには多くの欠点があります。 許容できるものを選択するだけです。

歴史

ネプ最初はnode.jsモジュールの管理から始まりました(そのためパッケージはnode_modulesデフォルトで入ります)が、フロントエンドでも機能します。ブラウザ化またはウェブパック

バウアーフロントエンド専用に作成されており、それを念頭に置いて最適化されています。

リポジトリのサイズ

npm は bower よりもはるかに大きく、汎用 JavaScript (country-data国情報やsortsフロントエンドまたはバックエンドで使用できる並べ替え機能など) が含まれています。

Bower のパッケージの量ははるかに少ないです。

スタイル等の取り扱い

Bowerにはスタイルなどが含まれます。

npm は JavaScript に重点を置いています。スタイルは別途ダウンロードされるか、npm-sassまたは や のようなものによって要求されますsass-npm

依存関係の処理

最大の違いは、npm はネストされた依存関係を処理する(ただしデフォルトではフラット)のに対し、Bower はフラットな依存関係ツリーを必要とする(依存関係解決の負担がユーザーにかかる)ことです

ネストされた依存関係ツリーとは、依存関係が独自の依存関係を持つことができ、その依存関係も独自の依存関係を持つことができる、ということを意味します。これにより、2 つのモジュールが同じ依存関係の異なるバージョンを必要としても、引き続き動作することができます。npm v3 以降、依存関係ツリーはデフォルトでフラット (スペースを節約) になり、必要な場合にのみネストされることに注意してください (例: 2 つの依存関係が独自の Underscore バージョンを必要とする場合)。

一部のプロジェクトでは両方を使用しています。フロントエンド パッケージには Bower を使用し、Yeoman、Grunt、Gulp、JSHint、CoffeeScript などの開発者ツールには npm を使用しています。


リソース

おすすめ記事