私はノードがかなり新しく、おそらくこれはかなり単純な問題です。複数のモジュールをパッケージからエクスポートするにはどうすればいいですか?
私はパッケージmypackage
を持っているとしましょう。私は、そのフォルダ上でノードを実行し、行うことができ、mypackage
一度tools.js
がインストールされていると呼ばれる別のモジュールがあるdist
フォルダで
...
"main": "./dist/index.js",
...
:私のパッケージのpackage.json
で、私はmain
キーが定義されています以下:
> require('mypackage')
これは完全に機能します。私はtools
モジュールをインポートしようとすると、しかし、私はこれに実行します。私はdist
フォルダを指定した場合
> require('mypackage/tools')
Error: Cannot find module 'mypackage/tools'
at Function.Module._resolveFilename (module.js:438:15)
at Function.Module._load (module.js:386:25)
at Module.require (module.js:466:17)
at require (internal/module.js:20:19)
at repl:1:1
at REPLServer.defaultEval (repl.js:272:27)
at bound (domain.js:280:14)
at REPLServer.runBound [as eval] (domain.js:293:12)
at REPLServer.<anonymous> (repl.js:441:10)
at emitOne (events.js:101:20)
しかし、それは動作します:
> require('mypackage/dist/tools')
をしかし、これは私が望むものではありません、私のユーザーが行うこと。 src
とdist
の両方があり、非メインモジュールにmypackage/otherMod
でアクセスできるようにするには、どのようなプロジェクト構造に従うべきですか?ありがとう。
私のパッケージをインポートすると自動的にノードプロセスのpwdが変更されるということです。これは悪い考えです。 2つ目は動作しますが、 'tools'が' index'の中でオブジェクトとして利用できるようになります。 'tools'が別のモジュールとして公開されることを望みます。 – bgusach