如何使用Node.js REPL

REPL代表Read-Evaluate-Print-Loop,這是一個快速探索Node功能的好方法。 我們使用node命令來運行Node.js腳本: node script.js 如果省略文件名,則使用REPL模式: node 如果你現在在終端中嘗試這樣做,會得到以下結果: ❯ node > 命令進入閒置模式,等待我們輸入內容。 提示:如果你不確定如何打開終端,請搜索“如何在…上打開終端”。 REPL等待我們輸入一些JavaScript代碼。 先從簡單的開始,輸入以下內容: > console.log('test') test undefined > 第一個值test是我們要求控制台打印的輸出,然後得到的是undefined,這是運行console.log()的返回值。 現在我們可以輸入新的JavaScript代碼。 使用Tab鍵來自動補全 REPL的一個很酷的功能是它的互動性。 在編寫代碼時,如果按下Tab鍵,REPL會嘗試自動補全你已經定義的變量或預定義的變量。 探索JavaScript對象 嘗試輸入JavaScript類的名稱,例如Number,然後加上一個點並按下Tab鍵。 REPL將打印出你可以訪問該類的所有屬性和方法: 探索全局對象 你可以通過輸入global.並按下Tab鍵來檢查你可以訪問的全局對象: 特殊變量 _ 如果在某些代碼之後輸入_,它將打印出上一個操作的結果。 點命令 REPL有一些特殊命令,都以點.開頭。它們包括: .help:顯示點命令的幫助信息 .editor:啟用編輯器模式,便於編寫多行JavaScript代碼。進入此模式後,輸入Ctrl-D運行編寫的代碼。 .break:在輸入多行表達式時,輸入.break命令將中止進一步的輸入,相當於按下Ctrl-C。 .clear:重置REPL上下文為空對象,並清除當前正在輸入的多行表達式。 .load:加載一個JavaScript文件,相對於當前工作目錄 .save:將REPL會話中的所有內容保存到文件中(指定文件名) .exit:退出REPL(相當於按兩次Ctrl-C) REPL知道何時你正在輸入多行語句,而不需要調用.editor命令。 例如,如果你開始輸入迭代器,像這樣: [1, 2, 3].forEach(num => { 然後按下enter鍵,REPL將移到一個以3個句點開頭的新行,表示你現在可以繼續編寫該塊的代碼。 ... console.log(num) ... }) 如果你在一行的末尾輸入.break,多行模式將停止,該語句將不被執行。