如何使用Node.js获取当前脚本的路径?

node.js Node.js

GilGreen

2020-03-13

我如何获得Node.js中脚本的路径?

我知道有process.cwd,但这仅是指脚本被调用的目录,而不是脚本本身的目录。例如,假设我进入/home/kyle/并运行以下命令:

node /home/kyle/some/dir/file.js

如果我打电话process.cwd(),我/home/kyle/不会/home/kyle/some/dir/有没有办法获取该目录?

第1506篇《如何使用Node.js获取当前脚本的路径?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

4个回答
Near西门 2020.03.13

You can use process.env.PWD to get the current app folder path.

米亚西里 2020.03.13

Every Node.js program has some global variables in its environment, which represents some information about your process and one of it is __dirname.

神奇A梅 2020.03.13

使用__dirname!

__dirname

当前模块的目录名称。这与的path.dirname()相同__filename

示例:从/ Users / mjr运行节点example.js

console.log(__dirname);
// Prints: /Users/mjr
console.log(path.dirname(__filename));
// Prints: /Users/mjr

https://nodejs.org/api/modules.html#modules_dirname

对于ESModule,您将要使用: import.meta.url

小胖Pro 2020.03.13

我在再次浏览文档后才找到它。我要寻找的是__filename__dirname模块级别的变量。

  • __filename是当前模块的文件名。这是当前模块文件的解析绝对路径。(例如:/home/kyle/some/dir/file.js
  • __dirname是当前模块的目录名称。(例如:/home/kyle/some/dir

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android