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

标签 node.js

我想检查我的模块是否被包含或直接运行。如何在 node.js 中做到这一点?

最佳答案

The docs描述另一种可能是首选方法的方法:

When a file is run directly from Node, require.main is set to its module.

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

function myMain() {
    // main code
}

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

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

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

关于node.js 相当于 python 的 if __name__ == '__main__',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4981891/

相关文章:

javascript - 当我尝试提交 HTML 表单时显示错误 “Cannot POST”

Node.js 在同一项目中进行 React 和 Rest 路由

javascript - 在运行时定期更改 HTML 正文的内容 - NodeJS

javascript - 从 phantomjs 运行 mocha

javascript - 如何使用 grunt 缩小一个 css 文件并将其编译成 JS

javascript - 使用 Node 创建 StrawPoll.me 民意调查

javascript - 如何让cloudantDb.search返回所有记录而不是限制25条和书签

node.js - 可能在 NodeJS、JXcore 等下运行的代码如何检测它是否在支持原生 ES6 Promise 的环境中运行?

javascript - Node.js HTTP 响应流

css - gulp 可以创建表情符号的图标字体任务吗?