[javascript]__dirname和__filename两种获取路径的方式

发布时间:2024年01月11日

一、介绍

__dirname:获取当前文件的所属文件夹绝对路径

__filename:获取当前文件的绝对路径

二、实例

function init() {
    console.log("init")
    console.log(__dirname)
    console.log(__filename)
}
init()

结果

C:\Program Files\nodejs\node.exe ..\..\test.js
init
D:\work\svn
D:\work\svn\test.js

三、进一步研究

3.1类型


function init() {
    console.log("init")
    console.log(__dirname)
    console.log(typeof __dirname)
    console.log(__filename)
    console.log(typeof __filename)
}
init()

结果

C:\Program Files\nodejs\node.exe ..\..\test.js
init
D:\work\svn
string
D:\work\svn\test.js
string

显示__dirname和__filename为字符串类型,因此可以使用所有字符串相关函数进行处理。

3.2获取当前文件名

function getFileName() {
  var fileName = __filename.replace(__dirname, "");
  fileName = fileName.replace("\\", "");
  return fileName;
}
console.log(getFileName());

结果

C:\Program Files\nodejs\node.exe ..\..\test.js
test.js

由此可见,可以将__dirname、__filename直接视为string对象操作。注意,在js中,单个的反斜杠意味着转义,因此在此函数中需使用两个反斜杠表示将后一个反斜杠转义为字符。

四、总结

此举可用于模板化文件的批量注册中,或是依据路径进行文件查找操作。

文章来源:https://blog.csdn.net/qq_34217861/article/details/135526942
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。