2016-10-07 7 views
2

例えばEmber Appを撮る。 ember install ember-bootstrap-4はノードパッケージを追加します。しかし、bower install tether --saveはバワーパッケージを追加します。どちらもアプリの一部です。しかし、なぜ1人は芝生に、1人はnpmにいるのでしょうか?ノードパッケージとBowerパッケージの違いは何ですか?

+2

関連の質問:[1](http://stackoverflow.com/questions/18641899/what-is-the-difference-between-bower-and-npm)、[2](http:// stackoverflow .com/questions/15092345/javascript-dependency-management-npm-vs-bower-vs-volo)、[3](http://stackoverflow.com/questions/22918517/npm-bower-composer-differences).. – ykaragol

答えて

0

bower installは - 実行時の依存関係を含むためであり、あなたが使用することをember-cli-build.jsでそれをインポートする必要があります。

npm install - の開発/ビルド時間依存性を含めるためです。

+0

ありがとうございます。しかし、私の例として。テントはブートストラップ-4によって必要とされます。しかし、私はember-cli-build.jsで何も設定しませんでした。テザーなしでは、エラーがスローされます。テザーはnpmの一部であるべきですか? – Hao

+0

あなたは 'ember-cli-bootstrap-4' https://www.npmjs.com/package/ember-cli-bootstrap-4を試すことができます。これは、あなたがバウアーを通してテザーをインストールする必要がないかもしれません。 (私は前にこれを使用していません)..実際それはアドオンに依存します。 – kumkanillam

+0

'ember-bootstrap-4'が動作するには' tether'が必要な場合、アドオンが依存関係をあなたのアプリケーションに追加する方法がありますので、そうする必要はありません。 – locks

1

NPMと亭は、あなたのエンバーアプリケーションで両方のパッケージマネージャですが、それらを使用していくつかの違いがあります。

  • バウアーは唯一のフロントエンドで使用されているが。あなたのEmberプロジェクト(bower_componentフォルダ)にbowerパッケージをダウンロードしますが、あなたのアプリの資産にそれを追加する必要があります。たとえば、bowerにmomパッケージをインストールする場合は、ember-cli-build.jsに移動して、次の行を追加してください。app.import('bower_components/moment/moment.js');(詳細はEmber Addons and Dependenciesを参照してください)
  • NPMがサーバーに使用されていますパッケージ。パッケージをnode_modulesプロジェクトにダウンロードします。すべてのember-cliアドオンがnpmにあり、ember install <addons-name>と入力すると、emberはemberアドオンを検索し、addonの情報をpackage.jsonに入れ、node_modulesフォルダにダウンロードします。 Emberが自動的に読み込みます。
関連する問題