2016-05-30 7 views
3

srcディレクトリにソースファイルを持つノードモジュールを公開し、プロジェクトでファイルをインポートしたい場合は、モジュールからフルパスを指定する必要があります。ノードモジュールのルートディレクトリを設定することはできますか?

例:

構造:

my-module 
--src 
----index.js 
----something-else.js 

package.json

{ 
    "name": "my-module", 
    "root": "src/index.js" 
} 

実装:

import myModule from 'my-module'; 
import somethingElse from 'my-module/src/something-else'; 

(または使用require

var myModule = require('my-module'); 
var somethingElse = require('my-module/src/something-else'); 

それはsrcは、ユーザーがmy-module/something-elsesomethingElseを必要とすることができ、私のソースのルートであることを知っているようにパッケージを設定する方法はありますか?

これができない場合は、公開前にsrcからファイルを取り出すことをお勧めしますか?通常、このインスタンス内で行われているもの、私の経験から、

答えて

2

のいずれかです:

  1. のみrequire('src/something-else');ユーザーはその後、ちょうどrequire('my-module/something-else');この場合、あなたは意味よりよいAPIを持つことができます含まれているルートでsomething-else.jsファイルを持っていますあなたのディレクトリ構造を将来変更しても、ユーザーのコードは損なわれません。つまり、something-elsemy-module/other-sources/something-elseに移動し、ルートファイルを変更するだけで済み、ユーザーコードは引き続き動作します。あなたのモジュールが利用できる持っていると、ユーザーはその後、そうでなければ、私は情報源を明示的にルートを設定する方法に遭遇していないmyModule.somethingElse

を経由しているモジュールの一部を選択することができ、すべてを必要とコアmy-moduleを作成

  • 。そのオプションが存在する場合、そのオプションは便利かもしれません。

  • 関連する問題