4

私は自分のプロジェクトを次のように構成しました

 /
    index.js
    package.json
    node_modules
    |_Service_A
      |__main.js
      |__package.json
    |_Service_B
      |__main.js
      |__package.json

プロジェクトのルート ディレクトリで行うnpm installと、/package.json に記載されている依存関係は解決されますが、node_modules/Service_A/package.json または node_modules/Service_B/package.json の依存関係は解決されません。異なるフォルダ間の依存関係を解決するために npm を作成するにはどうすればよいですか?

Service_A と Service_B は、node_modules 内にプリロードしたローカル モジュールです [依存関係があります]。私はそれらの依存関係を取り、それらを最上位のjsonにのみ配置できることを知っていますが、同じモジュールで異なるバージョンに依存している場合はどうなりますか。例: Service_A には jquery 1.6 が必要で、Service_B には jquery 1.7 が必要ですか?

4

2 に答える 2

7

Service_A と Service_B はローカル モジュールであるため、最上位の package.json 依存関係セクションで定義されていないと想定します。したがって、npmはそれらが存在することすら知りません。

ローカル モジュールを git リポジトリで開発することを検討すると、次の方法でそれらを定義できます。

"dependencies": {
  "public": "git://github.com/user/repo.git#ref", 
  "private": "git+ssh://git@github.com:user/repo.git#ref"
}
于 2012-07-21T10:23:29.263 に答える
2

パッケージに何かを追加して、これらの package.json ファイルで npm install を呼び出すことができます。以下のようなものがうまくいくかもしれません。

"scripts": {
   "preinstall": "npm install Service_A/ && npm install Service_B/"
}
于 2012-07-25T04:01:02.097 に答える