本章說明使用 Node.js 的第一步。
node -h
node -v
npm version
node -p process.versions
Node.js 的安裝程式也會安裝套件管理員 npm。它可以從 Node.js 首頁 下載,並適用於許多作業系統。
Node.js REPL(讀取-評估-列印迴圈)是一個命令列,我們可以在其中互動式評估 Node.js 程式碼。
我們可以在 JavaScript 嚴格模式 中啟動 Node.js REPL(這是更安全的,並且預設開啟 ESM 模組中的程式碼)
node --use_strict
如果我們在沒有任何參數的情況下執行 node
,Node.js REPL 就不會使用嚴格模式
node
以下是使用 Node.js REPL 的樣子(%
是 Unix shell 提示字,>
是 Node.js REPL 提示字)
% node
Welcome to Node.js v18.9.0.
Type ".help" for more information.
> path.join('dir', 'sub', 'file.txt')
'dir/sub/file.txt'
>
所有 Node 的內建模組都可以在 REPL 中透過全域變數取得:assert
、path
、fs
、util
等。
我們可以使用 shell 指令 node
搭配選項 --print
(縮寫:-p
)來列印評估 JavaScript 表達式的結果。與 REPL 類似,所有內建模組都可透過全域變數取得。例如,下列指令會列印主目錄的路徑,且可以在 Unixes 和 Windows 上執行
node -p "os.homedir()"
有關此命令列選項的更多資訊,請參閱 §15.7.7 “node --eval
和 node --print
”。
以以下模組為例
// my-module.mjs
import * as os from 'node:os';
console.log(os.userInfo());
我們可以透過 shell 執行它
node my-module.mjs
我們也可以執行已複製到剪貼簿的 Node.js 程式碼。例如,我們可以從前一節複製 my-module.mjs
的程式碼,並在 macOS 上這樣執行
pbpaste | node --input-type=module
選項 --input-type=module
告訴 Node.js 將從標準輸入接收的程式碼解釋為模組。這讓我們可以使用 import
等功能。
macOS shell 指令 pbpaste
會將剪貼簿的內容傳送至標準輸出。其他作業系統也有類似的 shell 指令
powershell get-clipboard
get-clipboard
xclip