node.js REPL"undefined"

7za*_*rk7 14 node.js

从节点0.4.11升级到0.6.15,并注意到REPL(没有参数的运行节点)在大多数命令或车厢返回后继续转储"未定义"...

它会分散注意力并让我感到沮丧,你怎么禁用它?

> 
undefined
> 
undefined
> 
undefined
> 
undefined
> var x = 2
undefined
> x
2
>
Run Code Online (Sandbox Code Playgroud)

del*_*ber 11

请参见Node.js REPL文档页面.

特别是这个:

如果ignoreUndefined设置为true,则repl将不输出命令的返回值(如果是)undefined.默认为false.

示例代码:

var net = require("net"),
    repl = require("repl");

repl.start(null, null, null, null, true);
Run Code Online (Sandbox Code Playgroud)

样本输出:

> var x
> var blah
Run Code Online (Sandbox Code Playgroud)

此外,你可以别名node

node -e "require('repl').start(null, null, null, null, true)"
Run Code Online (Sandbox Code Playgroud)

  • 扩展@ deltanovember的示例代码,以获得所需的行为,从命令行使用``node -e"require('repl').start(null,null,null,null,true)"``.也许别名呢? (2认同)

Per*_*seP 10

在没有未定义的命令返回的情况下调用节点的另一种方法是:

node -e "require('repl').start({ignoreUndefined: true})"
Run Code Online (Sandbox Code Playgroud)

从命令行


elb*_*rez 7

# node -i -e "repl.repl.ignoreUndefined=true"
Run Code Online (Sandbox Code Playgroud)

我的新_node别名 (v6.11.2)。

我在这里看到的优点是它会影响当前/默认 repl 上下文..这是我所有节点命令历史记录所在的地方!