Node.js を使用したシェルスクリプティング
この書籍のオフライン版(HTML、PDF、EPUB、MOBI)を購入して、この無料オンライン版をサポートすることができます。
(広告です。ブロックしないでください。)

3 Node.js 入門



この章では、Node.js を使用する最初の手順について説明します。

3.1 Node.js のサポートの取得

3.2 Node.js と npm のインストール

Node.js のインストーラーは、パッケージマネージャーの npm もインストールします。これは Node.js のホームページ からダウンロードすることができ、多くのオペレーティングシステムで使用できます。

3.3 Node.js コードの実行

3.3.1 Node.js REPL でコードを評価する

Node.js REPL (read-eval-print loop) は、Node.js コードを対話形式で評価できるコマンドラインです。

JavaScript 厳格モード で Node.js REPL を開始できます(これはより安全で、ESM モジュールのコードではデフォルトで有効になっています)。

node --use_strict

node を引数なしで実行すると、Node.js REPL は厳格モードを使用しません

node

Node.js REPL の使用例を以下に示します(% は Unix シェルプロンプト、> は 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 のグローバル変数(assertpathfsutil など)で利用できます。

3.3.2 JavaScript 式の結果を素早く印刷する

評価する JavaScript 式の結果を印刷するには、シェルコマンド node をオプション --print(省略形: -p)とともに使用できます。REPL と同様に、すべての組み込みモジュールはグローバル変数で利用できます。たとえば、以下のコマンドはホームディレクトリのパスを印刷し、Unix と Windows の両方で機能します

node -p "os.homedir()"

このコマンドラインオプションの詳細については、§15.7.7 “node --evalnode --print を参照してください。

3.3.3 Node.js コードでモジュールを実行する

たとえば、次のモジュールを考えてみましょう

// my-module.mjs
import * as os from 'node:os';
console.log(os.userInfo());

シェルから次のようにして実行できます。

node my-module.mjs

3.3.4 クリップボードにある Node.js コードを実行する

クリップボードにコピーした Node.js コードを実行することもできます。たとえば、前のセクションから my-module.mjs のコードをコピーして、macOS で次のように実行できます。

pbpaste | node --input-type=module

オプション --input-type=module は、Node.js に標準入力から受け取ったコードをモジュールとして解釈するように指示します。これは特に、import を使用できるようにします。

macOS シェルコマンドの pbpaste はクリップボードの内容を標準出力に送信します。他のオペレーティングシステムには同様のシェルコマンドがあります。