在我的模塊中,我需要檢測它是從命令行還是從另一個模塊調用。NodeJS - 我可以檢測何時從命令行(ES6 +巴別)調用..?
const isFromCLI = '????'
我使用巴別/ ES6,所以從一個命令行調用時,index.js
被調用(與巴別碼),它把手拿開,以script.js
(與ES6代碼)。所以從腳本文件中,module.parent
返回module
(index.js
文件)。 所以我不能使用module.parent
!
另外,module.main
是undefined
(在script.js
)從命令行或從另一個模塊調用時。 所以我不能使用module.main
!
這些是別人提出的兩種解決方案,但它們不適合我。
使用Babel/ES6時有沒有簡單的檢測這個?
更新
require.main
返回module
從任一命令行或從另一個模塊調用時。
請告訴我們你是如何調用的代碼。如果像你說的那樣,'index.js'是從命令行中調用的,而這個命令行指向'script.js',那麼'script.js'不會直接從命令行調用?對我來說似乎很好。 – Bergi
@Bergi你是對的,'script.js'不是直接從命令行調用的。但是'index.js'只包含腳本所需的Babel代碼。js'工作。我看到你在說什麼。我認爲可能有不同的方式來檢測這個,而不是看看'module.parent'是否等於'module'。 –