我刚开始学习node.js和我对Python有一些经验.在Python中,我可以判断__name__变量是否设置为"__main__",如果设置为"__main__",我就知道我的脚本正在直接运行.在这种情况下,我可以运行测试代码或以其他方式直接使用模块.

node 中是否有类似的内容.js?

推荐答案

可以使用module.parent来确定当前脚本是否由其他脚本加载.

例如

a.js:

if (!module.parent) {
    console.log("I'm parent");
} else {
    console.log("I'm child");
}

b.js:

require('./a')

运行node a.js将输出:

I'm parent

运行node b.js将输出:

I'm child

Node.js相关问答推荐

无法在本地运行dockerfile

使用Moongose处理node.js中重定向的then()块链

如何解决TypeError:requ.isAuthenticated不是函数错误?

EJS ForEach循环标记

控制台显示一个长对象,我可以';每当我发布更新Mongoose数据库的请求时,我都不知道错误是什么,

遇到 - TypeError:try 使用 Express(Node.js) 从 JSON 文件访问数据时无法读取未定义的属性(读取帖子)

我需要聚合两个 MongoDB 集合

如何在 node /快速服务器上配置 mongoDB

在 MacOS Ventura 上使用 NVM 安装 node ?

为什么 nginx 不将我的 react index.html 作为后备服务

如何在带有 JS 的 Nodejs 中使用没有 Async 方法的 Await

我应该转译我的 TypeScript 应用程序吗?

错误:找不到模块'C:\Users\nguye\AppData\Local\nodejs\node_modules\npm\bin\npm-cli.js'

为什么当我try req.logout() 时出现此错误?

NestJS 共享模块的问题

解决并行保存到 mongodb

Node.js mongodb 驱动程序异步/等待查询

我可以通过 JNI 从 Node.js 调用 Java 吗?如何?

npm package.json 操作系统特定脚本

安装 node 包时可以使用自定义目录名称而不是node_modules吗?