2016-05-02 5 views
1

私はかなりのフォーラムでこれを尋ねました。 e。 ノードモジュールをgitignoreに追加するのはなぜですか?私たちのプロジェクトの依存関係はありませんか? ユーザーが自分のリポジトリをコピーしてローカルで実行すると、すべての依存関係に対応する必要があります。ノードモジュールをgitignoreに追加する

+0

_node.js_については、すべての依存関係が 'package.json'内にリストされている必要がありますので、* node_module *ディレクトリをバージョン管理に追加する必要はありませんが、バージョン管理下に置いてください。これにより、_npm_がダウンしていても、ロールアウトを実行する際に常にすべてのモジュールが確実に確保されます。しかし、ネイティブコードを持つモジュールでは問題があるかもしれません。 –

答えて

1

依存関係はファイルpackage.jsonに記載されており、他のユーザーに同じモジュールを読み込ませるために共有する必要があります。 npm installコマンドでpackage.jsonにリストされているモジュールがロードされた場合、フォルダnode_modulesにはロードされたモジュールが格納されます。

ロードされたノードモジュールは重複しているため、共有リポジトリにコードをコミットするときにこのフォルダを無視する必要があります。

NB:他のユーザーwhithノードモジュールの特定のバージョンを共有するために、あなたが例えばexpress.jsをインストールするには、コマンドnpm install --save expressを使用する場合は、プロジェクト内のpackage.jsonファイルが更新されますshrinkwrap file

+0

私はどのサーバーにでも自分のコードを配備すれば、モジュールはどのように扱われますか? –

+0

サーバがインターネット接続を許可している場合は、 'npm install'コマンドをルートリポジトリで起動する必要があります。もう1つの解決策は、[nexus](https://books.sonatype.com/nexus-book/reference/index.html)のような独自のリポジトリマネージャを使用してnpmをオーバーライドし、プリロードされたモジュールをプロジェクトチーム内またはサーバー経由で共有することです。コピー/貼り付けは最後の解決策になります:) –

0

を使用することができますその依存関係を持つ。

npm installを実行すると、package.jsonファイルに記載されているすべての依存関係が自動的にインストールされます。

だから、gitリポジトリにpackage.jsonファイルを含める必要があります。

0

でも、2000〜4000年がノードモジュールのフォルダにサポートされているファイルになっていることに気がついたら、私は以前の、もっと後の私は、実在する人物、あまりにも多くのjsファイルを考えました。

バックエンドが発生する主な理由は、コードベースで物理的に利用できるため、ビルドシステムはこれらのファイルをすべて本番環境で使用していなくてもバンドルしようとします。

ビルド時間が短縮されるように、これらのファイルを無視するとよいでしょう。

関連する問題