node.js - 在 NodeJS REPL 中,如何打印到标准输出?

标签 node.js

我创建了一个如下所示的简单变量,我想打印它。我编写了打印命令,但这当然不起作用。有与之相当的吗?我希望它在输出上显示输出变量,就像我执行 x.gatesAgeOnDate() 时显示返回值一样

    var billGatesBirthday = '10-28-1955';
    print billGatesBirthday;

    exports.gatesAge = function() {
        return (new Date() - new Date(billGatesBirthday)) / 1000 / 60 / 60 / 24 / 365.25
    };

    exports.gatesAgeOnDate = function(dateOfInterest) {
        console.log('dateOfInterest');
        return (new Date(dateOfInterest) - new Date(billGatesBirthday)) / 1000 / 60 / 60 / 24 / 365.25
    };

最佳答案

在 REPL 中工作有点奇怪(大多数人,我建议您也这样做,制作真正的 .js 文件,然后使用 node realfile.js 运行它。“. js”甚至是可选的)但是:你有三个选择。

首先,在 JavaScript 中执行此操作的通用方法是使用 console.log(以及相关语句)。这就像它在锡上所说的那样:它记录到控制台。

但是,您处于 REPL 中,这意味着您评估的任何命令也将自动记录其返回值。虽然在实际的 Node 运行中(从文件)您只能依赖 console.log,但在 REPL 中您也可以只键入变量名称并查看返回值:

> var a = "cats":
undefined
> a
'cats'

方便。

最后,您进入了 Node,因此您可以通过 process.stdout.write 直接访问标准输出管道。 ,这样你就可以对其进行流式写入。绝对没有理由这样做,但您可以:

> var a = "lol";
undefined
> process.stdout.write(a);
loltrue

“这不仅仅是一个”,不,不是,就像上面提到的,这是您所做的事情加上返回值。 console.log 足以自动为您插入换行符,process.stdout 显然不会。因此,我们看到打印了 a 的值,没有换行符,然后是流写入尝试的返回值,该值是 true 因为没有出现任何问题。不要为此使用 process.stdout。

关于node.js - 在 NodeJS REPL 中,如何打印到标准输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34966979/

相关文章:

node.js - Redis 连接检查

node.js - Angularjs socket.io 服务

javascript - 实习生单元测试 : loading modules that need browser context

node.js - Knex 从时间列和日期列中获取格式化时间

javascript - 如何将数组中每个元素的结果推送到javascript nodejs中的全局变量?

javascript - 在 Node.js/Javascript 中,如何检查多维数组中是否存在值?

javascript - node_modules 包导入时出现意外标识符

node.js - 自动生成 Sequelize 模型

node.js - Puppeteer 未在 Mac 10.14 中启动 Chromium

javascript - Sequelize关系查询返回重复数据