2016-09-24 6 views
1

私は最初のノードモジュールを構築しています。モジュールの中にデモアプリケーションがあります。デモは開発中にのみ役立ちます。デモの依存関係はどこに置いていますか?モジュールのビルド時にデモアプリケーションの依存関係はどこに保存されますか?

最初の答えは、開発中にのみ役立つので、devDependenciesに入れることです。つまり、私は通常、(デモ)アプリケーションを実行するモジュール用ではなく、ビルドツール用にdevDependenciesを予約しています。

それで、自分のデモアプリケーションを含むモジュールを開発する場合、デモアプリケーションの依存関係はどこにありますか?

  • dependencies
  • devDependencies
  • someWhereElse

これはモジュールである:ここではhttps://github.com/shaunluttin/aurelia-open-id-connect

は私のモジュール内の依存関係の高レベルのグラフです。 ()の場所は、Praneshの回答に基づいています。

demo 
    third-party-modules (optionalDependencies) 
    my-module 
    third-party-modules (dependencies) 

誰かが私たちのモジュールをインストールするとき、我々は彼らが唯一のmy-module/third-party-modulesをプルダウンします。誰かが私たちのレポをクローンするとき、我々は彼らのトップにdemo/third-party-modulesをプルダウンできるようにしたい。

答えて

1

ほとんどの場合、デモアプリケーションは構築するモジュール(aurelia-open-id-connect)に依存します。モジュール以外のデモアプリケーションに他の依存関係がある場合は、optionalDependenciesになるはずです。

this

これらのモジュールは、-Oオプションでインストールする必要があります参照してください。例:npm i express -O

+0

デモアプリケーションがモジュール自体にどのように依存するかを理解するのに問題があります。たとえば、私のモジュール構造は次のとおりです:https://github.com/shaunluttin/aurelia-open-id-connect/tree/master/srcモジュールは 'src/open-id-connect /'の内部にあり、デモアプリケーションは 'src /'の中にある全てのものです。モジュールの公開時に、 'dist'は' src/open-id-connect'の内容のみを含みます:https://github.com/shaunluttin/aurelia-open-id-connect/tree/master/dist/amd私のデモアプリを普遍的な方法で構成していますか? –

+1

例は依存関係ではなく、**モジュールに**依存します**。 https://github.com/expressjs/express/blob/master/examples/auth/index.js#L5をご覧ください。これらの例はモジュールに依存しています(明示) –

+0

よろしいですか。デモは依存性ではないということは、私には意味があります。それは明らかです。しかし、デモには独自の依存関係があり、私が疑問に思うのはそれらを保存する場所です。 –

関連する問題