小编典典

node.js 相当于 python 的 if __name__ == '__main__'

all

我想检查我的模块是否被包含或直接运行。如何在 node.js 中执行此操作?


阅读 90

收藏
2022-04-12

共1个答案

小编典典

文档描述了另一种方法,这可能是首选方法:

当一个文件直接从 Node 运行时,require.main 被设置为它的模块。

要利用这一点,请检查此模块是否是主模块,如果是,请调用您的主代码:

function myMain() {
    // main code
}

if (require.main === module) {
    myMain();
}

编辑:如果您在浏览器中使用此代码,您将收到“参考错误”,因为未定义“要求”。为防止这种情况,请使用:

if (typeof require !== 'undefined' && require.main === module) {
    myMain();
}
2022-04-12