如何获取在NodeJS中执行的脚本的文件名?

the*_*iki 46 node.js

如何在NodeJS应用程序中获取脚本的文件名?

Hec*_*rea 48

你可以使用变量 __filename

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

  • 这 [不再适用于 ES 模块](/sf/ask/219327041/# 50053801)。 (3认同)
  • 这仅在您想知道当前运行查看 `__filename` 变量的代码的文件名时有用。相反,如果您需要知道正在运行的整个 nodejs 程序的名称,请使用下面的 @Brad 答案。 (2认同)

Mic*_*ole 23

使用模块的basename方法path:

var path = require('path');
var filename = path.basename(__filename);
console.log(filename);
Run Code Online (Sandbox Code Playgroud)

以下是上述示例的文档.


Bra*_*rad 20

你需要使用process.argv.将存在从命令行执行的脚本的名称,该名称可能与您将在其中找到的不同__filename.哪个合适取决于您的需求.

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

  • @1252748 您应该阅读文档:https://nodejs.org/docs/latest/api/modules.html#modules_filename `__filename` 是您当前所在文件的名称。如果我有一个包含 5 个的脚本其他模块,根据我检查的位置,`__filename` 有 6 种不同的可能性。此外,脚本可能有一个用于执行它的符号链接。`process.argv` 会给你实际运行的内容。 (2认同)