这是 Linux bash 终端:
$ node
> 'aBc'.toLowerCase()
'abc'
> .exit
$ echo "console.log('aBc'.toLowerCase()) " | node
abc
$ echo "'aBc'.toLowerCase()" | node
您可以看到,当我输入 Node REPL 时,'aBc'.toLowerCase()
我得到了输出。但是当我执行时,echo "'aBc'.toLowerCase()" | node
我没有得到任何输出。为什么?
有没有办法不用 就获得输出console.log
?也许是转到其他输出流?
答案1
sn-x
在 Reddit 上找到了用户提供的解决方案09f911029d7
。
当非交互模式运行时,节点不显示正常语句输出。要查看输出,有 2 个选项:
node -i "5+5"
这将强制节点以交互模式运行,并显示输出。
另一种方法是使用:
node -p "5+5"
这将告诉节点打印语句的最后一个执行值。(与之前的结果相同)。