gpt4 book ai didi

javascript - NodeJS - 我可以检测何时从命令行调用(ES6 + Babel)..?

转载 作者:行者123 更新时间:2023-11-30 11:40:55 27 4
gpt4 key购买 nike

在我的模块中,我需要检测何时从命令行或另一个模块调用它。

const isFromCLI = '????'

我正在使用 Babel/ES6,所以当从命令行调用时,index.js 被调用(使用 babel 代码),它交给 script.js(使用 ES6 代码)。因此,从脚本文件中,module.parent 返回 module(index.js 文件)。 所以我不能使用 module.parent!

此外,当从命令行或另一个模块调用时,module.main未定义(在 script.js 中)。 所以我不能使用 module.main!

这是其他人建议的两种解决方案,但它们对我不起作用。

在使用 Babel/ES6 时是否有简单的检测方法?

更新

require.main 从命令行或另一个模块调用时返回 module

最佳答案

你可以使用 Process在 Node 中。

https://nodejs.org/api/process.html#process_process_argv

检查第二个参数的值(做一个包含类型匹配)。不确定这是否是唯一的方法,但这是实现您需要的直接方法

代码片段可能是:

 const isFromCLI = (process.argv[1].indexOf('my-script.js') !== -1);

关于javascript - NodeJS - 我可以检测何时从命令行调用(ES6 + Babel)..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42720323/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com