repl 實現在無返回值時不輸出undefined(參考相關書籍)

每次在命令行中輸入node即可進入repl命令,我們即可進行相關命令使用,但有一點很不開心的就是它總是要在var a=2;這樣變量賦值的式子後輸出undefined,那麼如果我們不想輸出undefined的呢。此時我們可以定製自己的repl,方法很簡單。

建立一個js文件,放在一個文件夾下,我放在了F盤下的Node文件夾裏,然後在這個js文件裏輸入以下指令。

  repl=require('repl'); //這個require裏的內容也可輸入你自己的repl的路徑,作爲Node原生模塊,此處也可直接輸入模塊標識符的字符串repl,但是如果是下載到其他地方的其他外來模塊,require裏的內容就只能是絕對路徑或相對路徑

 repl.start('su stdin>',null,null,null,true);//這句是定製repl的關鍵,第一個參數爲提示符的定義,默認值爲>

第二個是stream,默認值爲process.stdin,

第三個是eval,默認值爲async.

第四個是userglobal,是否使用全局對象,默認爲false。

第五個是關鍵,ingoreUndefined,是否忽略undefined,默認值爲false,也就是不忽略啦。

所以除了第一個我定製了自己特殊的提示符之外,中間三個我都採用了默認值,即爲null,後面一個參數我改爲了true。於是就把undefined忽略了。。

然後在命令行裏執行 node F:/Node/replUndefined.js。

效果爲:

然後你就可以使用repl命令了。我剛開始學習的時候,是進入repl後執行的node F:/Node/replUndefined.js,然後出現了一堆亂七八糟的東西,注意這個文件是直接進入命令行執行node即可。

repl命令有:

  .break(重新開始,丟失之前輸入的內容)

.clear(重置情境並清空表達式)

.exit(退出repl)

.help(顯示所有的repl命令)

.save(保存repl對話)

.load(加載指定的文件到當前對話)

我最最喜歡的就是.save 了,可以把當下的repl對話都存儲到你指定的文件裏。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章