私のモジュールでは、コマンドラインから、または別のモジュールから呼び出されたときを検出する必要があります。NodeJS - コマンドライン(ES6 + Babel)から呼び出されたときを検出できますか?
const isFromCLI = '????'
Iは、(ES6コードで)script.js
にハンドオフれ、バベル/ ES6を使用しているので、コマンドラインから呼び出された場合、index.js
は(バベルコードで)と呼ばれます。したがって、スクリプトファイルのmodule.parent
はmodule
(index.js
ファイル)を返します。 だから使えないmodule.parent
!
また、コマンドラインまたは別のモジュールから呼び出された場合、module.main
はundefined
(script.js
)です。 だから使えないmodule.main
!
もの
は、他の人が示唆されている2つの解決策ですが、彼らは私のために動作しません。はバベル/ ES6を使用している場合、これを検出することが簡単ですか..?
更新
require.main
戻りmodule
コマンドラインのいずれかから、または別のモジュールから呼び出されます。
あなたがコードを呼び出す方法をご提示ください。あなたが言うように、 'index.js'が' script.js'に渡すコマンドラインから呼び出された場合、 'script.js'はコマンドラインから直接呼び出されませんか?私にはうまく見えます。 – Bergi
@Bergi正しいですが、 'script.js'はコマンドラインから直接呼び出されません。しかし、 'index.js'は' scriptに必要なBabelコードだけを含んでいます。jsは働く。私はあなたが何を言っているかを見ます。私は 'module.parent'が' module'と等しいかどうかを見るのではなく、これを検出する別の方法があると思いました。 –