Skip to content

コマンドラインから Node.js スクリプトを実行する

Node.js プログラムを実行する一般的な方法は、(Node.js をインストールしたら)グローバルに使用可能なnodeコマンドを実行し、実行したいファイルの名前を渡すことです。

メインの Node.js アプリケーションファイルがapp.jsの場合、次のようにして呼び出すことができます。

bash
node app.js

上記では、シェルに対してnodeでスクリプトを実行するように明示的に指示しています。「シバン」行を使用して、この情報を JavaScript ファイルに埋め込むこともできます。「シバン」はファイルの最初の行であり、OS にスクリプトの実行に使用するインタープリターを指示します。JavaScript の最初の行を以下に示します。

javascript
#!/usr/bin/node

上記では、インタープリターの絶対パスを明示的に指定しています。すべてのオペレーティングシステムにbinフォルダにnodeがあるわけではありませんが、すべてにenvがあるはずです。nodeをパラメーターとしてenvを実行するように OS に指示できます。

javascript
#!/usr/bin/env node
// your javascript code

シバンを使用するには、ファイルに実行権限が必要です。

app.jsに実行権限を与えるには、次を実行します。

bash
chmod u+x app.js

コマンドの実行中は、app.jsファイルを含むのと同じディレクトリにいることを確認してください。

ファイルパスではなく引数として文字列を渡す

引数として文字列を実行するには、-e--eval "script"を使用できます。次の引数を JavaScript として評価します。REPL で事前に定義されているモジュールもスクリプトで使用できます。Windows では、cmd.exeを使用すると、単一引用符は正しく機能しません。これは、引用符として二重引用符"のみを認識するためです。Powershell または Git bash では、"'の両方が使用可能です。

bash
node -e "console.log(123)"

アプリケーションを自動的に再起動する

nodejs V 16 以降、ファイルが変更されたときにアプリケーションを自動的に再起動する組み込みオプションがあります。これは開発目的で役立ちます。この機能を使用するには、watchフラグを nodejs に渡す必要があります。

bash
node --watch app.js

そのため、ファイルを変更すると、アプリケーションが自動的に再起動されます。--watch フラグドキュメントを参照してください。