__filename 和 __dirname这两个变量是预定义在Node.js中的:
- __filename主要用以获取当前模块的文件名
- __dirname主要用以获取当前模块的目录
__filename变量
在Node.js中,我们可以在模块内(或者说一个js文件内),使用 __filename变量来获取模块文件的带有完整绝对路径的文件名。
例如,我在桌面新建了一个test.js文件(Mac系统),里面有以下一行代码,注释里的内容就是输出的结果。
console.log(__filename); // /Users/Meskjei/Desktop/test.js
__dirname变量
使用方法同上,不同的地方在于,__dirname变量获取的是模块文件的完整绝对路径(可理解为__filename变量去掉文件名只保留了路径)。我把上面的代码修改为:
console.log(__dirname); // /Users/Meskjei/Desktop