От этого В чем разница между __dirname и ./ в node.js? , записанного d512
В Node.js, __dirname
- это всегда каталог, в котором находится исполняемый в данный момент скрипт (см. Это). Поэтому, если вы ввели __dirname
в /d1/d2/myscript.js, значение будет /d1/d2.
В документации сказано, что __dirname
равно path.dirname
. Если вы введете path.dirname
в отталкиватель, он скажет вам следующее:
> console.log(path.dirname)
[Function: dirname]
undefined
Теперь я думаю: поскольку это репл, у вас нет файла, который хранится где-то на диске. Он просто читает команду, оценивает ее и выводит на консоль.
Кто-то с большим опытом в REPLS может дать более длинный и подробный ответ, но я думаю, что это изложило концепцию.