Node集群的cluster.isPrimary未定义。

5

Node表示cluster.isMaster已过时,我们应该使用cluster.isPrimary。但是,尽管isMaster在不出问题的情况下返回true,但我尝试cluster.isPrimary时却获取到undefined

const cluster = require("cluster");

console.log(cluster.isPrimary); /// undefined

console.log(cluster.isMaster); /// true

为什么会发生这种情况?

4个回答

5

使用 Node v16+,并将 "esModuleInterop": true 添加到 tsconfig.json 文件中。


4

确保你的 Node 版本至少为 16.0.0

你可以在终端中运行以下命令来查看:

node --version

我正在使用当前的LTS版本,即14.18.1版本。 - bahejam379
根据Node文档,isPrimary是在Node.js 16.0.0版本中添加的。您应该更新到最新版本以使用该功能。isPrimary文档:https://nodejs.org/api/cluster.html#cluster_cluster_isprimaryNode.js下载:https://nodejs.org/en/ - about14sheep

1
在 Node 18 中,我按照官方文档中 一个示例 的建议导入了该模块。
import cluster from 'node:cluster';

我已经安装了Typescript 4.2,并且在tsconfig.json中设置了"esModuleInterop": true标志,它可以正常工作。


0

我使用了这条语句,在node v19下运行良好:

import cluster, { Worker } from 'cluster'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接