2012-04-17 14 views
11

は0.6.15にノード0.4.11からアップグレード、およびほとんどのコマンドや馬車を返した後、「未定義」投棄を続けREPL(引数なしで実行しているノード)に気づいは「未定義」REPLをNode.jsの

それは気を散らし、私をバットに駆り立てます。どうやってこれを無効にしますか?

> 
undefined 
> 
undefined 
> 
undefined 
> 
undefined 
> var x = 2 
undefined 
> x 
2 
> 
+1

関連する[node.jsはコンソールで "undefined"と表示されます(http://stackoverflow.com/q/8457389/418183)。 –

+0

ありがとう、私は定義されていないことを理解していますが、私はcmdラインからのreplを実行するときにそれを取り除きたい。それは気を散らす。 – 7zark7

+0

var a = 2と入力すると、私はそれほど理由がありません。なぜそれは未定義ですか? – landed

答えて

8

Node.js REPLのマニュアルページを参照してください。

具体的に、この:ignoreUndefinedは真、その後、REPLに設定されている

場合はしませんコマンドの出力戻り値それはundefinedだ場合。デフォルトはfalseです。

サンプルコード:

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

repl.start(null, null, null, null, true); 

出力例:

> var x 
> var blah 

またあなたがnode

node -e "require('repl').start(null, null, null, null, true)" 
+0

私はそれを見ましたが、密集して申し訳ありません - 私はコマンドラインからノードを実行しているときにこれを設定する方法を理解していません。私はスクリプトからreplを起動していません。これはrepl.start(...)などについて言及しています。 – 7zark7

+0

私はいくつかのサンプルコードで更新しました – deltanovember

+2

@ deltanovemberのサンプルコードを展開して、 "node -e" require( 'repl')を使って必要な動作を取得してください。コマンドラインから「(null、null、null、null、null、true)」を起動します。おそらくエイリアスですか? –

7

コマンドの未定義のリターンずにノードを起動する別の方法をエイリアスができは:

node -e "require('repl').start({ignoreUndefined: true})" 

私の新しい_nodeエイリアス(v6.11.2)

+0

素晴らしい、ありがとう! – 7zark7

+0

私はこれがはるかに良いのが好きです。私は実際にそれが何をしているかを伝えることができます。 – Chev

0
# node -i -e "repl.repl.ignoreUndefined=true" 

コマンドラインから。

私がここで他の人よりも優れているのは、現在の/デフォルトのレプリケートコンテキストに影響するということです。これは、すべてのノードコマンドの履歴です。