11

私は Node.js と npm を数週間使用して大きな成功を収めており、ローカル モジュールをインストールするためのベスト プラクティスについて疑問を持ち始めています。グローバル対ローカルの議論は理解していますが、私の質問は、ローカル インストールを配置する場所に関係しています。~/ProjectA/バージョン管理され、複数の開発者によって作業されているプロジェクトがあるとしましょう。最初に Node.js と npm で遊んだとき、デフォルトのローカル インストール パスを認識せず、単に必要なモジュールをデフォルト ターミナルにインストールしただけで、インストール パスは~/node_modules. これが最終的に行ったことは、プロジェクトに取り組んでいる他のすべての開発者が、アプリケーションを実行するために自分のマシンにモジュールをインストールすることを要求することです。何人かの開発者が走った場所を見てきましたnpm install彼らのマシンでまったく機能したことに今でも本当に驚いていますが(Node.jsとrequire()がモジュールを検索する方法に関連していると思います)、言うまでもなく、機能しました。

プロジェクトが「いじくり回す」段階を過ぎたので、プロジェクト フォルダーを正しくセットアップしたいと思います。したがって、私の質問は、モジュールをインストールし~/ProjectA/node_modulesてバージョン管理されたプロジェクト ファイルの一部にする必要があるか、それとも開発者マシン固有の場所に配置し続ける必要があるかということです...それともまったく問題ではありませんか?

これに関するちょっとした「ベストプラクティス」のガイダンスと、プロジェクトをセットアップするときに他の人が何をするかを探しています。

4

1 に答える 1

9

ここでの「ベスト プラクティス」は、依存関係をプロジェクト フォルダー内に保持することだと思います。
私がこれまでに見たほとんどすべての Node プロジェクト (私は Node 開発者で、現在約 8 か月間使用しています) はそれを行っています。

依存関係をバージョン管理する必要はありません。それが私が Node プロジェクトを管理する方法です:

  1. ファイル内でバージョンをロックしたままにしてpackage.json、全員が同じ作業バージョンを取得するnpm shrinkwrap、プロジェクト ルートでコマンドを使用します。
  2. フォルダーをVCS無視ファイルに追加しnode_modulesます(私はgitを使用しているので、私のものは.gitignore.
  3. 幸せになってください、あなたは終わりました!
于 2013-06-03T13:44:11.937 に答える