Nodejs 如何获得当前执行module的路径
Nodejs 如何获得当前执行module的路径
包括该文件的路径和该文件所在文件夹路径。。。。 我知道可以使用module.filename获得文件名,那么目录名呢?需要麻烦的使用module.filename来构建吗?
当然可以!在 Node.js 中,获取当前执行模块的路径是一个常见的需求。你可以通过 __dirname
和 __filename
来轻松地获取文件所在的目录路径和文件路径。
获取文件路径
如果你想要获取当前执行模块的完整文件路径,可以直接使用 __filename
:
console.log(__filename);
例如,如果当前文件位于 /home/user/project/app.js
,那么输出将会是:
/home/user/project/app.js
获取目录路径
如果你想要获取当前文件所在的目录路径,可以使用 __dirname
:
console.log(__dirname);
例如,如果当前文件位于 /home/user/project/app.js
,那么输出将会是:
/home/user/project
示例代码
假设你有一个简单的 Node.js 应用程序,如下所示:
// app.js
console.log('File Path:', __filename);
console.log('Directory Path:', __dirname);
当你运行这个脚本时,你会看到类似如下的输出:
File Path: /home/user/project/app.js
Directory Path: /home/user/project
总结
__filename
返回当前模块文件的完整路径。__dirname
返回当前模块文件所在的目录路径。
这两种属性都是内置的全局变量,不需要额外的库或复杂的逻辑。希望这能帮到你!
__filename 是当前文件名, __dirname 是当前文件所在的目录
这种情况你应该说教一下滴^ ^
遇到才看的飘过… 是不是 __filename
和 module.filename
永远返回相同的值啊?
在 Node.js 中,你可以通过 __dirname
和 __filename
来获取当前模块的目录路径和文件路径。__dirname
是一个全局变量,它返回当前模块的目录名,而 __filename
返回当前模块文件的完整路径。
示例代码
假设你有一个文件结构如下:
project/
├── index.js
└── lib/
└── helper.js
helper.js
console.log('Current directory:', __dirname);
console.log('Current file path:', __filename);
当你在 index.js
中调用 require('./lib/helper')
时,输出将会是:
index.js
const helper = require('./lib/helper');
输出将会是:
Current directory: /path/to/project/lib
Current file path: /path/to/project/lib/helper.js
解释
__dirname
: 返回当前模块所在的目录路径。__filename
: 返回当前模块文件的完整路径。
因此,你不需要手动去解析 module.filename
来获取目录路径。__dirname
已经为你提供了方便的途径来获取当前模块的目录路径。