プロジェクトルートでpackage.json
ファイルを取得する以外に、実行中のnode.jsアプリケーションの依存関係のリストを特定する方法はありますか?ノードはこのメタ情報をグローバル名前空間内のいくつかのvarとして利用可能にしますか?実行中のnode.jsアプリケーションから使用されるNPMモジュールを確認する
答えて
あなただけのアプリケーションディレクトリに現在インストールされているNPMパッケージを探しているなら、あなたはnpmパッケージ(npm install -g npm
)とprogramaticallyがインストールされたパッケージとの依存関係ツリーを一覧表示するls
を呼び出してインストールすることができます。
明らかに、インストールされたパッケージがアプリケーション内に実際にrequire
であるかどうかは関係ありません。
使用方法については十分に文書化されていませんが、これを開始する必要があります。
var npm = require('npm');
npm.load(function(err, npm) {
npm.commands.ls([], true, function(err, data, lite) {
console.log(data); //or lite for simplified output
});
});
例えば:
{ dependencies:
{ npm: { version: '1.1.18', dependencies: [Object] },
request: { version: '2.9.202' } } }
そうでなければ、私は唯一の他のオプションは、現在ロードされている/キャッシュされたモジュールパスに関する情報を取得するためにmodule
モジュールをイントロスペクトすることであると信じています。しかし、これは間違いなく公開APIとして開発されているように見えません。私は何か選択肢があるかどうか分からないので、もし存在すれば聞くことが大切です。
var req = require('request'); // require some module for demo purposes
var m = require('module');
// properties of m contain current loaded module info, e.g. m._cache
は、私はあなたがrequire-analyzer、Isaacsに応じて作品の並べ替えを(一部を欠場する可能性が)使用することができます信じています。 Nodeup's first podcastの11:55からこれを聞くことができます。
またはJamesのnode-detectiveを試してみてください。これはおそらく依存関係をより良く(ただしコードを実行することなく)見つけることができますが、Javascriptの動的性質(12:46)のためです。
探偵
すべてのコールは関係なく、夢中になってASTの 適切な歩行を使用して入れ子になったか()を必要としないために検索。
PS:あなたをNode.jsのために、これらのpackage.json変数を露出させるためには、node-pkginfo
- 1. npmでインストールされたNode.jsモジュールが認識されない
- 2. アプリケーションが実行中かどうかを確認する方法
- 3. 実行中のアプリケーションのインスタンスを確認して終了する
- 4. 実行中のプロセスを確認する -
- 5. node-amqpモジュールを使用したNode.jsでの手動確認
- 6. 実行中のアプリケーションが有効かどうかを確認する
- 7. 実行中のプログラム内で使用可能なRAMの量を確認する
- 8. Typescriptでnpmモジュールを使用する
- 9. browserifyを使用してnpmモジュールで変換を実行する方法
- 10. 実行時にPythonモジュールのバージョンを確認する
- 11. tomcatが実行中かどうかを確認する
- 12. sllauncher.exeの下で実行中のブラウザ不在のSilverlightアプリケーションを確認する
- 13. アプリケーションがフォアグラウンドで実行されているかどうかの確認
- 14. node.jsのnavigator.id.getから返されるアサーションを確認する方法は?
- 15. EmberアプリケーションにNPMモジュールを追加する
- 16. アプリケーションがアプリケーションサーバーで実行されていることを確認する
- 17. モジュールのnpmとNode.jsインストールの位置を理解する
- 18. Node.jsのnpmモジュール(node_modules)とTypeScriptの宣言をインポートする
- 19. VMコマンドラインを使用して実行中に割り当てられた最大ヒープサイズを確認しますか?
- 20. が多すぎNPMモジュールは、「NPMインストール」を実行した後にインストールされている
- 21. シンクライアント(Webブラウザ)からインストールされ実行中のアプリケーションへのフロー
- 22. 実行中のSybaseのバージョンを確認するには
- 23. 実行中のCKANのバージョンを確認するには
- 24. 実行中のプログラムのステータスを確認する方法
- 25. 実行中のperl実行可能ファイルのソースを確認する
- 26. VBScript実行中の関数を確認する
- 27. Rubyで実行中のプロセスを確認する方法は?
- 28. Intellijで実行されるコマンドを確認する方法
- 29. node.jsでnpmを使用した後にクライアントからunderscore.jsにアクセス
- 30. Windows Mobileアプリケーションが実行されていないことを確認する - デスクトップアプリケーションから
を使用することができますこれはworkable.I'mは誰にも提案を持っているかどうかを確認するために少し長くのための未解決の問題を残していくに見えます。ありがとう! – MrEvil
node.js IRCチャンネルにも質問する価値があります。http://nodejs.org/community/ –