node全局变量__dirname与__filename的区别

(编辑:jimmy 日期: 2024/9/26 浏览:2)

(1) __filename变量

node.js中,在任何模块文件内部,可以使用__filename变量获取当前模块文件的带有完整绝对路径的文件名。

在应用程序根目录下新建app.js文件,其中代码如下所示。
var testModule1=require(‘./test/testModule.js');

在应用程序根目录下新建一个test子目录,在该目录下新建一个testModule.js文件,其中代码如下所示。
console.log(__filename);

在命令行窗口中输入“node app.js”命令并按下回车键,REPL运行环境中将显示testModule.js文件的完整文件名,执行结果如图所示:

node全局变量__dirname与__filename的区别

(2)__dirname

获得当前文件所在目录的完整目录名:

在应用程序根目录下新建app.js文件,其中代码如下所示。
var testModule1=require(‘./test/testModule.js');

在应用程序根目录下新建一个test子目录,在该目录下新建一个testModule.js文件,其中代码如下所示。
console.log(__dirname);

在命令行窗口中输入“node app.js”命令并按下回车键,REPL运行环境中将显示testModule.js文件所在目录的完整绝对路径,执行结果如图

node全局变量__dirname与__filename的区别

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。