Подтвердить что ты не робот

Как получить имя файла script, выполняемое в NodeJS?

Как получить имя файла script, выполняемое в приложении NodeJS?

4b9b3361

Ответ 2

Используйте метод basename модуля path:

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

Вот документация, из которой взят пример выше.

Как отметил Дэн, Node работает над модулями ECMAScript с флагом --experimental-modules. Узел 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);

Ответ 3

Вам нужно использовать process.argv. Там будет имя скрипта, который был выполнен из командной строки, который может отличаться от того, что вы найдете в __filename. Что подходит, зависит от ваших потребностей.

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