47

NodeJSアプリケーションで実行されているスクリプトのファイル名を取得するにはどうすればよいですか?

4

3 に答える 3

54

変数を使用できます__filename

http://nodejs.org/docs/latest/api/globals.html#globals_filename

于 2012-12-11T21:48:32.827 に答える
25

モジュールのbasename方法を使用します。path

var path = require('path');
var filename = path.basename(__filename);
console.log(filename);

上記の例のドキュメントは次のとおりです

Danが指摘したように、Nodeは「--experimental-modules」フラグを使用してECMAScriptモジュールに取り組んでいます。ノード12は、上記のように引き続きサポート__dirname__filenameます。


--experimental-modulesフラグを使用している場合は、別の方法があります。

別の方法は、現在のESモジュールへのパスを取得することです。

const __filename = new URL(import.meta.url).pathname;

そして、現在のモジュールを含むディレクトリの場合:

import path from 'path';

const __dirname = path.dirname(new URL(import.meta.url).pathname);
于 2015-06-11T21:27:20.933 に答える
22

を使用する必要がありますprocess.argv。には、コマンドラインから実行されたスクリプトの名前があります。これは、にあるものとは異なる場合があります__filename。どちらが適切かは、ニーズによって異なります。

http://nodejs.org/docs/latest/api/process.html#process_process_argv

于 2012-12-11T21:48:51.667 に答える