8

node.js アプリケーション内で内部モジュールを処理するには、どのような方法が望ましいでしょうか?

つまり、現在、かなり大きなアプリケーションがあり、いくつかの依存関係があり、npm を介してインストールされています。ありnode_modulesます.gitignore。したがって、リポジトリにはありません。npm shrinkwrapモジュールのバージョンを凍結するために使用するため、展開時npm installに必要なものをすべて にまとめnode_modulesます。

問題は、アプリが大きくなっているので、それを小さなモジュールに分割したいということです。ここで、fooモジュールを作成して に配置node_moduesする場合は、リポジトリでそれを許可する必要があります。これは、 でモジュールを無視してチェックアウトするのはあまり適切ではないようですnode_modules

これらは実際には「公開」されていないため、npm レジストリで公開することはできません。

私が気付いていない明らかな解決策はありますか?

4

2 に答える 2

7

サードパーティの非レポのものを社内のリビジョン管理されたコンテンツと混ぜないというあなたの美学に同意します.

NODE_PATH 検索パス変数は、ここで役立ちます。リビジョン管理下のコンテンツで別のディレクトリを使用できます。

http://nodejs.org/api/modules.html

柔軟性と複雑さに対する欲求に応じて、さまざまなノード モジュールを保持している場所から実際に出力ディレクトリ (おそらく「node_modules」という名前ですが、必ずしもそうとは限りません) にコピーするビルド ステップを検討できます。

于 2012-08-31T22:35:52.177 に答える
5

一般的な解決策は、モジュールをプライベート Git リポジトリのどこかに保存し、git://URL を依存関係として使用することです。npm は、依存関係としてリポジトリを複製する方法を知っています。

于 2012-08-31T22:53:58.450 に答える